Это из-за того, что вы используете словарь! Если вы хотите использовать словарь и определять желаемую пользователем валюту, вам понадобится функция, которая называется Сюръективная функция в математике (Вы можете прочитать о различных типах математических функций здесь ) , В этой функции вы должны соответствовать различным состояниям ввода одной из ваших валют. Что-то вроде этого было бы неплохо, я думаю:
currencies = {"1.USD" : "your value", "2.HKD" : "your value"}
usercurrency = input("Enter the currency that you want to use: ")
usercurrencyedited = usercurrency.lower()
for curr in currencies:
if usercurrencyedited in currencies[curr]:
print("You preference is " + curr)
В этом коде мы проверяем и число, и строку. Обратите внимание, что я использовал usercurrencyedited = usercurrency.lower()
, поскольку пользователь не может вводить валюту с заглавной буквы.
Удачи: D
новое редактирование: Если вы просто хотите проверить индекс в словаре и не вводите никаких цифр в ключе словаря, вы можете использовать этот код:
currencies = {"USD" : "your value", "HKD" : "your value"}
userinput = input("Enter your preferred currency.")
currentindex = 1
for curr in currencies:
if currentindex == int(userinput):
print("Your preference is " + curr)
break
currentindex += 1