我正在制定一個基本程式來提高我的技能。我制作了一個程式來創建一個 pin 然后嘗試破解它。它可以按需要運行,但我很好奇最后三個 while 回圈是否可以組合成一個更有效的回圈。
import random
pin = []
pinlength = 0
while pinlength != 3:
num = random.randint(1,10)
pin.append(num)
pinlength =1
print(f"Your pin is {pin}")
find = 0
while find != pin[0]:
find =1
print(find)
find = 0
while find != pin[1]:
find =1
print(find)
find = 0
while find != pin[2]:
find =1
print(find)
uj5u.com熱心網友回復:
使用函式和串列推導將使您的代碼更清晰、更可重用:
import random
def generate_pin(s: int):
return [random.randint(0,9) for _ in range(s)]
def get_ith_digit(pin, ix):
for n in range(10):
if n == pin[ix]:
return n
pin = generate_pin(3)
print(f"this is your pin {pin}")
[get_ith_digit(pin, ix)for ix in range(3)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/525183.html
標籤:Python循环
下一篇:添加新元素時將元素保留在陣列中
