Я принимаю интро к онлайн-курсу Python и вот описание проблемы.Python Efficiency - Лучшая версия, чем несколько операторов ifif, - используйте преобразования for loop - chr ord?
Напишите программу, которая выполняет обратное примеру выше: она должна принимать символ в качестве входного и выводить соответствующее число (от 1 до 26). Ваша программа должна принимать только заглавные буквы. Как проверка ошибок, печать недействительна, если вход не является заглавной.
Может ли кто-нибудь ответить более эффективным способом написания следующего?
letter = input()
x = ord(letter)
if x >= ord('A') and x == 65:
print(1)
elif x >= ord('A') and x == 66:
print(2)
elif x >= ord('A') and x == 67:
print(3)
elif x >= ord('A') and x == 68:
print(4)
elif x >= ord('A') and x == 69:
print(5)
elif x >= ord('A') and x == 70:
print(6)
elif x >= ord('A') and x == 71:
print(7)
elif x >= ord('A') and x == 72:
print(8)
else:
print("invalid")
Я думал о какой-то петле. Я начал несколько версий для циклов, но не могу понять, как обрабатывать итератор и соответствовать ему увеличению значения asci. Благодаря! This chr ord chart could help
Вы могли бы упростить вам 'if' заявления там. – sberry
@sberry Да, я понял, что сразу после того, как я разместил его. Исправлена. – Yuushi
Спасибо Yuushi, наслаждайтесь очками! – StacyM