Python 3.x while循环中第二次提示输入无效后重新提示
请容忍我,因为我可能很难用这个词 我有一个程序向用户询问两个问题 “输入主题”-->用户输入主题(即CMIS) “输入CatalogNbr”-->用户输入CatalogNbr(即300) 如果用户没有为第一个提示输入任何内容,它会说“需要一个主题”,然后循环返回并再次询问问题(预期)。一旦有效输入被接受,它将进入第二个提示符。现在,当第二个提示留空时,循环转到postQuery消息(“您想再试一次吗?是/否”)。但是,当我在if not方法的底部(在第二个提示符中)后面加上“continue”时,它会说“需要CatalogNbr”,但随后会返回到循环的开头(提示符1) 简言之,我知道我的while循环有问题,但我无法解决。我试图添加第二个while循环,但我已经挂断了几个小时,我知道我只是错过了一些小东西,这让我发疯。不管怎样,别胡扯了。以下是我得到的:Python 3.x while循环中第二次提示输入无效后重新提示,python-3.x,Python 3.x,请容忍我,因为我可能很难用这个词 我有一个程序向用户询问两个问题 “输入主题”-->用户输入主题(即CMIS) “输入CatalogNbr”-->用户输入CatalogNbr(即300) 如果用户没有为第一个提示输入任何内容,它会说“需要一个主题”,然后循环返回并再次询问问题(预期)。一旦有效输入被接受,它将进入第二个提示符。现在,当第二个提示留空时,循环转到postQuery消息(“您想再试一次吗?是/否”)。但是,当我在if not方法的底部(在第二个提示符中)后面加上“continue”时
while True:
subjectName = input("Enter the Subject:")
if not subjectName.isupper():
print("A Subject is required")
continue
catNum=input("Enter the CatalogNbr:")
if not catNum:
print("A CatalogNbr is required.")
这是我的postQuery
postQuery=input("Would you like to search for another title? (Y or N)")
if postQuery == 'N':
print("Thanks for using the Catalog Search program.")
break
我已经用下面的代码进行了测试。它正在按预期工作。该主题是强制性的,CatalogNbr是可选的
while True:
subjectName = input("Enter the Subject:")
if not subjectName :
print("A Subject is required")
continue
catNum=input("Enter the CatalogNbr:")
if not catNum:
print("A CatalogNbr is required.")
postQuery = input("Would you like to search for another title? (Y or N)")
if postQuery == 'N':
print("Thanks for using the Catalog Search program.")
break
如果用户未输入CatalogNbr,是否继续?根据您的代码,它不是强制性的。