我正在做一个程序来做一个猜谜游戏;我需要能够让程序给出H或L的反馈,只有当一个数字高于3或小于3时。如果x比y高3
这是我目前有
import random
def game3():
rndnumber = str(random.randint(0,9999)) #gets a number between 0-9999
while len(rndnumber) < 4:
rndnumber = '0'+ rndnumber # adds 0s incase the number is less then a 1000
print(rndnumber) #lets me know that the program generates the right type of number (remove this after testing)
feedback = 0 #adds a variable
for x in range(1,11): #makes a loop that runs for 10 times
print("Attempt",x)
attempt = input("Guess a number between 0-9999:")#gets the users guess
feedback = "" #makes a feedback variable
for y in range(4): #makes a loop that runs for 4 times
if attempt[y] == rndnumber[y]: #if attempt is the same then add a Y to the number
feedback += "Y"
elif attempt[y] < rndnumber[y]:
feedback += "L"
elif attempt[y] > rndnumber[y]:
feedback += "H"
else:
feedback += "N"
print(feedback)
if x == 10:
print("You Lose the correct answer was",rndnumber)
if feedback == "YYYY" and x > 1:
print("You win it took",x,"attempts.")
break; #stops the program
elif feedback == "YYYY":
print("You won on your first attempt!")
break; #stops the program
东西时,我就开始学习编程,我意识到的是,有两种方法可以写东西了,名字的事情,讲道理,等:*第一个*,有自己的方式。 *然后*,有正确的方法。当你给变量命名时,首先你要从自己的名字开始,它们可能很长,但它们对你来说是有意义的。问题在于你得到的任何帮助都不在你的心理语言中,你必须翻译很多。最终,更流行的命名约定和逻辑方法对您来说更容易。听听我的建议,并学习现在流行的做事方式;它使学习变得更容易 – jwarner112
为什么比较一个循环中的个位数比较数字?为什么不把整个数字与'if attempt == rndnumber'进行比较? – Barmar
@Barmar因为他正在编写类似于Mastermind的东西。 – sdasdadas