【发布时间】:2014-05-27 12:16:29
【问题描述】:
我正在编写一个会询问您排名的代码。你有多个答案。 我要做的是当用户输入答案并且答案正确时,代码将继续执行,当答案错误时,代码将返回到 if 语句的开头。
我的代码目前所做的是无论如何它都会转到语句的顶部。 我想要它,以便在答案正确时跳过代码。
这是我的代码!
print ('what rank do you want')
print ('light')
print ('heavy')
print ('soldier')
print ('ninja')
print('if you want to pick a rank again than type "retake"')#ignore this line#
print ('light')
print ('heavy')
print ('soldier')
print ('ninja')
invalid_input = True
def start() :
invalid_input = True
rank = input('pleese pick a rank!\n')
if rank == ('light'):
print ("you have chosen light")
invalid_input = False
elif rank == 'heavy':
print ('you have chosen heavy')
invalid_input = False
elif rank == ('soldier'):
print ('you have chosen soldier')
invalid_input = False
elif rank == ('ninja'):
print ('you have chosen ninja')
invalid_input = False
else:
print ('Sorry, that was an invalid command!')
while invalid_input :
start()
print ('well done you have picked your rank') #the bit where the code will carry on#
【问题讨论】:
-
您没有其他
if语句。您有elif块,是第一个if语句的一部分。 -
我想你的意思是你想让
invalid_input成为一个全球性的;函数中的global invalid_input可以解决这个问题。
标签: python if-statement input skip