【发布时间】:2015-12-16 14:19:59
【问题描述】:
我对 python 有点陌生,给自己一个任务,我想要一个数字猜谜游戏,让你猜四个数字,程序会不断告诉你猜对了多少个数字,直到你猜出完整列表数字。
running = True
import random
def compareLists(a, b):
return list(set(a) & set(b))
def start():
rNums = random.sample(range(10), 4)
gNums = []
print("Get ready to guess 4 numbers!")
for i in range(0, 4):
x = int(input("Guess: "))
gNums.append(x)
print("You guessed: ", gNums)
comparison = len(compareLists(rNums, gNums))
while gNums and rNums:
if gNums != rNums:
print("You guessed " + str(comparison) + " numbers right, keep guessing!")
break
elif gNums == rNums:
print("What amazing luck!")
while running:
start()
问题是,当我使用 break 时会创建一个包含 4 个数字的新列表,我希望 python 只是回到循环的开头而不是创建一个全新的列表!
【问题讨论】:
标签: python loops random numbers break