我有一个名为“periodic_table”的文件。这个文件里面是多行。每行的侧面都有一个原子序数,右边有一个相应的元素名称,如下所示:
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,它将打印 Hydrogen,类似地,如果用户输入 Silicon,它将输出 14。但是 - 我希望程序通知用户他是否输入了不存在的原子序数(例如 150)或不存在的元素(例如毯子或任何其他字符串)。我尝试使用if
但它打印出一个无限循环:
element_list = {}
name = input("Enter element number or element name: ")
while name:
with open("periodic_table.txt") as f:
for line in f:
(key, val) = line.split()
element_list[int(key)] = val
if name == key:
print(val)
elif name == val:
print(key)
name = input("Enter element number or element name: ")