我的代码每次都需要输入姓名和年龄,当输入一个空的sting时,输入的姓名和年龄会被放入字典中
我所拥有的只是:
askMore = True
dictionary = {}
while askMore:
name = input("Name or an empty string to stop: ")
age = int(input ("Age: "))
if not name:
print(dictionary)
askMore = False
else:
dictionary[name] = age
print(dictionary)
喜欢它的工作方式,但不是它设想的方式。它在我进入年龄后打印答案,如下所示:
Name or an empty string to stop: asdg
Age: 1
{'asdg': 1}
Name or an empty string to stop: blaah
Age: 12
{'asdg': 1, 'blaah': 12}
然后继续问
Enter a name or an empty string to stop:
但当我输入一个空字符串时,它会打印出“输入一个名称或一个要停止的空字符串:”然后是“Age:”,然后是一个错误
输入空字符串后,我希望它打印出输入的姓名和年龄的整个字典,如下所示:
{'asdg': 1, 'blaah': 12}
不是每次我加上名字或年龄
看看你的逻辑:你坚持在检查是否该停止之前读取两个值并将
age
转换为int。修正逻辑顺序您需要仔细考虑在此处执行操作的顺序:
这是我关于如何做这件事的第一份草稿。然而,这还不够清楚,无法直接将其翻译成代码,因此我们需要改进口头描述。重要的是,我们需要在询问年龄之前检查姓名。让我们试着这样做:
而名称不是空的
a。询问年龄
b。在字典中插入姓名和年龄
c。询问姓名
打印词典
在写这篇文章时,我记住了While循环是如何工作的,在询问用户名称后,我需要立即检查While循环中的条件。此外,我们在循环完成后打印字典,而不是每次循环迭代时打印字典
相关问题 更多 >
编程相关推荐