所以我试图让这个函数仅在等于数组中的字符时才返回我写入的内容。如果不是,我希望它继续循环。
def pick():
picks = input('Type one letter. ')
choice = {'q', 'w', 'e', 'r', 't', 'y'}
for x in choice:
while x in choice != picks:
picks = input('Pick again. ')
else:
return x
pick()
我对此感到非常困惑。
示例:
Type one letter. z
Pick again. q
然后它将返回q
到该函数以在另一个函数中使用。
此外,如果这个函数正确(返回正确的字符),它必须继续执行下一个函数。另一个函数同时将此函数的答案与它自己的答案进行比较。如果不正确,它会阻止其他函数“启动”,而这个函数会继续循环吗?
最佳答案
没有必要每次都循环选择。另外,我不太确定你想用 while
条件做什么,但类似这样的事情应该可以解决问题。主题x in y
返回一个 bool 值,指示x
是否是y
的成员。
def pick():
picks = input('Type one letter. ')
choice = {'q', 'w', 'e', 'r', 't', 'y'}
while picks not in choice:
picks = input('Pick again. ')
return picks
pick()
此外,我可能会做一些清理用户输入的工作。
while picks.lower().rstrip() not in choice:
关于python - While 在带有 input() 的函数中循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34845561/