Итак, у меня есть словарь, который состоит из числа и его определение является соответствующим элементом в периодической таблице.Как вызвать элемент из словаря в python?
Я создал словарь, как это:
for line in open("periodic_table.txt"):
temp.append(line.rstrip())
for t in temp:
if t[1] != " ":
elements[x] = t[3:]
else:
elements[x] = t[2:]
x += 1
Я знаю, что каждый элемент в таблице, потому что я задаю программу для печати словаря. Смысл этого в том, что пользователь вводит номер или имя элемента и номер и имя и распечатаны следующим образом:
while count == 0:
check = 0
line = input("Enter element number or element name: ")
if line == "":
count = count + 1
break
for key,value in elements.items():
if line == value:
print ("Element number for",line,"is",key)
check = 1
break
if line.isdigit():
if int(line) <= 118 and int(line) > 0:
print ("Element number",line, "is",elements[int(line)])
check = 1
break
if check == 0:
print ("That's not an element!")
Это работает для каждого элемента, кроме последнего, унуноктий, в словаре. Когда пользователь вводит 118, этот элемент печатается, но если они вводят «ununoctium», тогда программа говорит «Это не элемент!». Почему это и как я могу это исправить?
Заранее спасибо
Что произойдет, если они входят в унуноктии вместо этого? – doctorlove
есть проблема с капитализацией? Попробуйте 'line.lower()', чтобы пользовательский ввод был в нижнем регистре. (и 'value.lower()' для другой стороны теста) – Bonlenfum
вы можете использовать pprint.pprint (the_dictionary), чтобы вручную проверить, что у вас есть в вашем dict –