我有一个叫做“周期表”的文件。在这个文件中有多行。每一行的侧面都有一个原子序数,右边有一个相应的元素名,如下所示:
1 Hydrogen
2 Helium
3 Lithium
4 Beryllium
5 Boron
6 Carbon
7 Nitrogen
8 Oxygen
9 Fluorine
10 Neon
11 Sodium
12 Magnesium
13 Aluminium
14 Silicon
etc...
我编写了一个程序,要求输入元素名称或数字,并在字典中打印出相应的值。如果用户输入1,它将打印氢气,同样,如果用户输入硅,它将输出14。但是,我希望程序在用户输入不存在的原子序数(如150)或不存在的元素(如Blanket或任何其他字符串)时通知用户。我尝试使用if
,但它打印出一个无限循环:
为了有效地解决这个问题(无需反复读取文件),您需要将其分解为两个步骤,您当前的代码将这两个步骤混合在一起。首先,读取文件并准备元素名和数字之间的字典映射。第二,处理用户输入并对照字典进行检查。在
对于对现有代码的最小更改,如果找到元素,可以设置一个标志
found
,并对其进行相应的操作。所以:一旦找到匹配项,您可以直接退出程序。如果没有找到匹配项,将再次提示用户输入。否则,程序将在打印相应的编号/名称后终止。在
相关问题 更多 >
编程相关推荐