-1
这款游戏让用户猜测一个4位数的数字,并在用户猜测显示'Y'后给出反馈,如果用户获得正确的数字,并显示'H',如果猜测最多比数字高3倍,显然与在数字以下至多3位显示“L”相反。但这是我的问题,我不能让它显示'H'和'L'在3以上或以下!任何帮助表示赞赏..代码是低于我已经尝试过的地方。小于或超过一定数量
from random import randint
guessesTaken = 0
randomNumber = [str(randint(1, 9)) for _ in range(4)] # create list of random nums
while guessesTaken < 10:
guesses = list(input("Guess Number: ")) # create list of four digits
check = "".join(["Y" if a==b else "H" if int(a)< 3 int(b) else "L" for a, b in zip(guesses,randomNumber)])
if check == guesses: # if check has four Y's we have a correct guess
print("Congratulations, you are correct, it took you", guessesTaken, "guesses.")
break
else:
guessesTaken += 1 # else increment guess count and ask again
print(check)
if guessesTaken == 10:
print("You lose")
而不是在一行中做'check',为什么不尝试写出多行代码,'a,b in zip(...):'等等。然后我想你会发现更多的错误容易。 – darthbith 2014-10-26 16:13:29
我做到了,但我是新来的蟒蛇,并没有看到我出错的地方。我不能让它做到3或以下 – paxyshack 2014-10-26 16:23:16