Python 循环一个功能(包括输入),直到按下一个特定的输入
我正在做一些家庭作业,任务是创建一个简单的程序:Python 循环一个功能(包括输入),直到按下一个特定的输入,python,python-3.x,Python,Python 3.x,我正在做一些家庭作业,任务是创建一个简单的程序: 获取用户输入 检查所述输入是否正确(两个带“,”分隔符的单词) 将输入输出为两个单独的字 并循环上述所有操作,直到输入“q” 它必须完全像我要求的那样出来,我现在正在这样做。我只是不知道如何将提示符循环回来,并在没有无限循环或从未实际接受新输入的情况下获得不同的输入 以下是完成后输出的外观: Enter input string: Jill, Allen First word: Jill Second word: Allen Enter i
- 获取用户输入
- 检查所述输入是否正确(两个带“,”分隔符的单词)
- 将输入输出为两个单独的字
- 并循环上述所有操作,直到输入“q”
Enter input string:
Jill, Allen
First word: Jill
Second word: Allen
Enter input string:
Golden , Monkey
First word: Golden
Second word: Monkey
Enter input string:
Washington,DC
First word: Washington
Second word: DC
Enter input string:
q
我可以让它通过第一个条目并用“q”退出,但不能让它再次提示用户并获得不同的输入
这是我的密码:
def strSplit(usrStr):
while "," not in usrStr:
print("Error: No comma in string.\n")
usrStr = input("Enter input string:\n")
else:
strLst = usrStr.split(",")
print("First word: %s" % strLst[0].strip())
print("Second word: %s\n" % strLst[1].strip())
usrStr = input("Enter input string:\n")
while usrStr != 'q':
strSplit(usrStr)
break
任何帮助都会很棒!谢谢。你就快到了。试试这个:
while True:
usrStr = input("Enter input string:\n")
if usrStr == 'q':
break
if "," not in usrStr:
print("Error: No comma in string.\n")
else:
strLst = usrStr.split(",")
print("First word: %s" % strLst[0].strip())
print("Second word: %s\n" % strLst[1].strip())
当然,您仍然可以使用strSplit
函数进行一些修改:
def strSplit(usrStr):
if "," not in usrStr:
print("Error: No comma in string.\n")
else:
strLst = usrStr.split(",")
print("First word: %s" % strLst[0].strip())
print("Second word: %s\n" % strLst[1].strip())
while True:
usrStr = input("Enter input string:\n")
if usrStr == 'q':
break
strSplit(usrStr)
你快到了。试试这个:
while True:
usrStr = input("Enter input string:\n")
if usrStr == 'q':
break
if "," not in usrStr:
print("Error: No comma in string.\n")
else:
strLst = usrStr.split(",")
print("First word: %s" % strLst[0].strip())
print("Second word: %s\n" % strLst[1].strip())
当然,您仍然可以使用strSplit
函数进行一些修改:
def strSplit(usrStr):
if "," not in usrStr:
print("Error: No comma in string.\n")
else:
strLst = usrStr.split(",")
print("First word: %s" % strLst[0].strip())
print("Second word: %s\n" % strLst[1].strip())
while True:
usrStr = input("Enter input string:\n")
if usrStr == 'q':
break
strSplit(usrStr)
非常感谢你!我在为这个哈哈大笑。那么,当你做第一个while循环时,基本上就是要求用户在每次勾选时输入一些东西(不确定这是否是正确的术语),然后在点击q时打破该循环吗?@CameronMcMains正确的术语应该是“每个循环”或“每个迭代”,而不是“每个勾选”。)@卡梅隆·麦克迈恩斯是的,这就是它的要点。在这类问题中需要记住的重要一点是,在程序中的某个地方需要一个无限循环,一旦满足某个条件,该循环就会中断。@Tomothy32…\u或\u您可以使用
while condition:thing()
。对于本例,它将是,而usrStr!='q':#等..
并删除中断
。无限循环并不总是需要的,但我也经常使用它们。@EthanK你试过了吗while
循环条件仅在每次迭代后进行评估,这意味着while
循环中的代码仍将在循环条件评估和中断循环之前执行一次。i、 非常感谢你!我在为这个哈哈大笑。那么,当你做第一个while循环时,基本上就是要求用户在每次勾选时输入一些东西(不确定这是否是正确的术语),然后在点击q时打破该循环吗?@CameronMcMains正确的术语应该是“每个循环”或“每个迭代”,而不是“每个勾选”。)@卡梅隆·麦克迈恩斯是的,这就是它的要点。在这类问题中需要记住的重要一点是,在程序中的某个地方需要一个无限循环,一旦满足某个条件,该循环就会中断。@Tomothy32…\u或\u您可以使用while condition:thing()
。对于本例,它将是,而usrStr!='q':#等..
并删除中断
。无限循环并不总是需要的,但我也经常使用它们。@EthanK你试过了吗while
循环条件仅在每次迭代后进行评估,这意味着while
循环中的代码仍将在循环条件评估和中断循环之前执行一次。即