Проблема с перебором списка
Хочу перебрать список и дополнить вывод чисел буквами.
результат должен быть таким
1st
2nd
3rd
4th
…
items = [range(1, 9)]
for item in items:
if item == 1:
print(str(item)+'st')
elif item == 2:
print(str(item)+'nd')
elif item == 3:
print(str(item)+'rd')
else:
print(str(item)+'th')
При запуске программы выводит список целиком и выводит результат огбработки else
результат:
[1, 2, 3, 4, 5, 6, 7, 8, 9]th
может кто подсказать в чем может быть проблема?
Ответы (2 шт):
Автор решения: n1tr0xs
→ Ссылка
Единственная ошибка - неверное заполнение items.
Исправьте items = [range(1, 10)] на items = list(range(1, 10))
Но я бы делал так:
postfix = {
1: 'st',
2: 'nd',
3: 'rd',
}
for item in range(1, 10):
print(item, postfix.get(item, 'th'), sep='')
Немного "извращений":
for item in range(1, 10):
print(item, {1: 'st', 2: 'nd', 3: 'rd'}.get(item, 'th'), sep='')