因此,我对如何使无效输入仅出现在数字输入上、如何将输入转换为列表以及如何增加每个输入的计数感到困惑?我真的试过了,但我就是想不出来
这就是问题所在:
练习17c:清单3
您将从上一个练习中获得相同的想法,该练习要求用户输入多个数字,直到用户输入“完成”
在程序的最顶层,需要assign (=)
一个empty list ([])
变量(While-True循环上方的行)
该程序将不断要求提供姓名列表
用户输入“完成”后,程序应显示输入的名称数量并显示最终列表。 下面显示了一个示例,说明了您的外观
EXAMPLE:
Enter a name: Mrs. Brown
Enter a name: Ms. Bliss
Enter a name: 3
That’s not a name! TRY AGAIN!
Enter a name: Mr. Kent
Enter a name: done
There are 3 names in the list [‘Mrs. Brown’, ‘Ms. Bliss’, ‘Mr. Kent’]
这就是我们目前所拥有的:
namesList = []
while True:
name = input("Please enter a name, then press enter. When finished type done: \n")
if name == "done":
namesList = namesList[:-1]
print("There are " + str(len(namesList)) + " names in the list " + str(namesList))
break
else:
continue
试试这个:
关于什么是名字,什么不是名字,你有一个棘手的问题。(https://www.bbc.com/news/magazine-36107590)
但是,在任何情况下,提供给您的要求都没有明确定义要接受或拒绝什么。您的示例表明要拒绝数字
有几种方法可以实现这一点。 在python中检查特定模式的一种方法是使用正则表达式(regex)。您可以在这里搜索,并确定用于模式匹配的健壮方法
在这种情况下,如果唯一的要求是拒绝数字,那么您还可以利用这样一个事实,即如果您请求将文本转换为整数,python将生成一个错误。您可以利用这一事实来区分字符串中的所有数字,而不是所有数字
下面的示例显示了如何使用try/except块(也是python范例)来实现这一点
这是您将如何添加列表中给定的名称
相关问题 更多 >
编程相关推荐