Добавление значения с заменой предыдущего в переменную

Есть ли в Python метод подобный .append, только позволяющий добавлять значения с заменой предыдущего в переменную? Нужно что-то вроде :

saver = 0    # Переменная saver в данном случае как бы сохраняет поочередно 
             # значения из цикла. Ну это в идеале :)
while True :
    vvod = input('Введите число')

    if saver == 0 or vvod < largest or vvod != 'done'  :
        saver.append(vvod)

    line = vvod


    if saver == 0 :
        largest = saver

    if line == 'done' :
        print(f'Цикл завершен! {largest}')
        break
        
    if line > largest :
        largest = line

Программа вычисляла бы наибольшее число из вводимых (не стал добавлять функцию для проверки ввода т.к. это просто пример). В общем, не нашёл ничего работающего подобным образом. Мог бы подойти список с фиксированным количеством значений, но насколько мне известно так в Python нельзя.


Ответы (1 шт):

Автор решения: mrgervant

При запуске представленного кода должна возникнуть ошибка, т.к. saver это int:

AttributeError: 'int' object has no attribute 'append'

Если Вам требуется только вывести максимальное число из введенных, тогда просто перезаписывайте переменную, если введенное число превосходит имеющееся значение:

  • Чтобы не добавлять условия с 0 - передавайте в переменную самый первый ввод
  • Для определения максимального числа используйте функцию max
  • Для сокращения кода можно использовать моржовый оператор :=
  • С ним также получится сделать прерывание цикла через нажание Enter - передастся пустая строка, которая будет приведена к False
max_num = int(input('Введите число: '))
while num := input('Введите число: '):
    max_num = max(max_num, int(num))
print(f'Цикл завершен! {max_num}')

Если всё же нужно сохранить все значения в списке, то наполняйте список через append, а после аналогично используйте max (сложность O(n)):

num_list = []
while num := input('Введите число: '):
    num_list.append(int(num))
max_num = max(num_list)
print(f'Цикл завершен! {max_num}')
→ Ссылка