Python 猜谜游戏获胜';不起作用,还会抛出奇怪的语法错误
我花了1.5个小时的大部分时间在这件事上,但我就是不能让它工作。在它开始抛出这些奇怪的语法错误之前,它会继续说“猜到低,再试一次”。它甚至没有在shell中运行,因为我一直在收到这些错误 代码如下:Python 猜谜游戏获胜';不起作用,还会抛出奇怪的语法错误,python,syntax,logic,Python,Syntax,Logic,我花了1.5个小时的大部分时间在这件事上,但我就是不能让它工作。在它开始抛出这些奇怪的语法错误之前,它会继续说“猜到低,再试一次”。它甚至没有在shell中运行,因为我一直在收到这些错误 代码如下: import random gend = random.randint(1,100) #make random number def compare(gend,guess): #start function guessnum = 0 #set guessnumber to zero for
import random
gend = random.randint(1,100) #make random number
def compare(gend,guess): #start function
guessnum = 0 #set guessnumber to zero for later printing
if gend < guess: #compare gend number against guessed number
int(raw_input("Too high. Try again. ")) #request another number for user
guessnum = guessnum + 1 #add 1 to guessnumber, for later printing
elif gend > guess: #compare gend number against guessed number
int(raw_input("Too low. Try again. "))#request another number for user
guessnum = guessnum + 1 #compare gend number against guessed number
elif gend == guess: #if guessed number=gend, do this
keepalive = 'much spook' #stop the while loop
print "Congratulations! You got it in %d guess." % (guessnum)#print da amount of guesses
keepalive = 'rekt' #keepalive substitute
print 'Time to play a guessing game' #no exp needed
guess = int(raw_input("Enter a number between 1 and 100: ") #start off the game
while keepalive == 'rekt': #while loop that does all the work
compare(gend,guess) #funcion werk
raw_input("Any key to exit") #keep console open so it doesnt autoclose -.-
随机导入
gend=random.randint(1100)#生成随机数
def比较(性别、猜测):#启动功能
guessnum=0#将guessnumber设置为零,以便以后打印
如果性别<猜测:#将性别数字与猜测的数字进行比较
int(原始输入(“太高。请重试”)#为用户请求另一个号码
guessnum=guessnum+1#将1添加到guessnumber,以便以后打印
elif gend>guess:#将gend数字与猜测的数字进行比较
int(原始输入(“太低。请重试”)#为用户请求另一个号码
guessnum=guessnum+1#将性别数字与猜测的数字进行比较
elif gend==猜测:#如果猜测的数字=gend,请执行此操作
keepalive='much spook'#停止while循环
打印“祝贺您!您在%d个猜测中获得了它。”%(guessnum)#打印大量猜测
keepalive='rekt'#keepalive替换
打印“玩猜谜游戏的时间”#无需经验
guess=int(原始输入(“输入1到100之间的数字”)#开始游戏
while keepalive=='rekt':#while循环完成所有工作
比较(性别,猜测)#函数werk
原始输入(“任何退出键”)#保持控制台打开,以免自动关闭--
我还要感谢你们的帮助,这无疑是绝大多数语言的最佳学习资源。语法错误上方的一行缺少一个右括号
guess = int(raw_input("Enter a number between 1 and 100: ") #start off the game
^
语法错误是由于前一行造成的。Python只能告诉您它注意到什么地方出了问题,而这不一定是问题实际恶化的地方。在
guess=int(原始输入(“输入一个介于1和100之间的数字”)
中缺少一个结束语
它一直说“太低,再试一次”是由于两个错误:
- 当你要另一个数字时(你读一个数字,解析它,然后扔掉它),你不会分配给
,所以guess
永远不会改变guess
- 在函数内部,
不会改变循环外部使用的相同的keepalive='moy spook'
。有几种方法可以解决这个问题,但哪种方法合适取决于您以前的经验和您正在学习的材料-请咨询它,看看是否提到过类似的内容keepalive