Почему строки печатаются дважды?
for i in range(1,10):
if i == 1:
i = (f'{i}st')
print(i)
if i == 2:
i = (f'{i}nd')
print(i)
if i == 3:
i = (f'{i}rd')
print(i)
else:
print(i)
В выводе получается, что первые два числа повторяются два раза, с чем связанно такое повторение?
Ответы (2 шт):
Автор решения: Zhihar
→ Ссылка
вот из-за этого:
else:
print(i)
у вас условия не связаны в один if:
# если i = 1 выводим 1st
if i == 1:
i =(f'{i}st')
print(i)
# если i = 2 выводим 2nd
if i == 2:
i = (f'{i}nd')
print(i)
# если i = 3 выводим 3rd
if i == 3:
i = (f'{i}rd')
print(i)
else:
# если i не равно 3 (!!!!!!!!!!!!!!!!!!!!) вывести i, которое для i = 1 равно 1st, для i = 2 равно 2nd
print(i)
вам надо или внутри if поставить continue или elif вместо if ставить
Автор решения: Jack_oS
→ Ссылка
ваш else относиться только к третьему if, попробуйте так:
for i in range(1,10):
if i == 1:
i =(f'{i}st')
print(i)
elif i == 2:
i = (f'{i}nd')
print(i)
elif i == 3:
i = (f'{i}rd')
print(i)
else:
print(i)
как результат:
1st
2nd
3rd
4
5
6
7
8
9
