Начала заниматься питоном недавно, столкнулась с проблемой, что питон не воспринимает числа такие как 13, 21, 34 и т.д, как целые. То есть когда я хочу чтобы он выбрал все числа больше 5, он мне выдает только 89, а 13 уже не подходит. Как решить проблему?
max_number = a[5] # => 13
# ls = [] # задаестя пустой список для добавления всех чисел больше a[5]
for number in a:
if number > max_number:
max_number = number # здесь каждый раз переписывается премеменная
#ls.append(number) # добавляются в спсок все числа больше a[5]
print('числа больше 5:', max_number) # не числа, а число максимально возможне в списке
# print('числа больше 5:', *ls) # вывод списка чисел больше a[5]
потому что в цикле вы постоянно меняете значение переменной max_number
нужно по-другому:
a = [1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
max_number = a[5]
max = ""
for number in a:
if number > max_number:
max = max + str(number) + " "
print('числа больше 5:', max)
Всё нормально воспринимает, как написана программа, так и считает. a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
max_number = a[5]
for number in a:
if number > max_number:
max_number = number
print('числа больше 5:', max_number) Что делает программа? Проходит по списку и определяет максимальное значение. Какое максимальное значение в списке? 89. Вот это значение в итоге и выводится. Ну а то, что при этом ещё и пишется «числа больше 5», на суть вычислений не влияет.
Правильный вариант будет такой: a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
print('числа больше 5:', end=' ')
for number in a:
if number > 5:
print(number, end=' ') Можно и короче: a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
print('числа больше 5:', *(number for number in a if number > 5))