Форум программистов, компьютерный форум, киберфорум
Baumanetc
Войти
Регистрация
Восстановить пароль
Оценить эту запись

Ввод чисел до тех пор, пока не будет введено число, которое больше суммы всех ранее введенных

Запись от Baumanetc размещена 26.08.2021 в 15:32

Python
1
2
3
4
5
6
7
8
9
10
11
summ = 0
flag = True
 
while flag:
    s = int(input('введите число: '))
    summ += s
    if s <= summ - s or summ - s <= 0:
        print('сумма: ', summ)
        continue
    print('введено число, которое больше суммы всех ранее введенных')
    flag = False
Размещено в Без категории
Показов 739 Комментарии 4
Всего комментариев 4
Комментарии
  1. Старый комментарий
    Странное условие у вашей задачи. Необходимо хорошо понимать, что понятие суммы чисел определено для двух чисел. Иными словами, сложение - бинарная операция. Надо отметить, что условие вашей задачи содержит Рекурсию. А вот о начальных данных этой рекурсии вы не позаботились .
    Исходя из этого условие вашей задачи должно быть таким:

    Ввод чисел при условии, что каждое число начиная с третьего будет не больше суммы всех ранее введённых чисел.

    Таким образом в вашей программе первые два числа должны вводиться вне цикла и без всяких условий...
    Запись от wer1 размещена 27.08.2021 в 07:32 wer1 вне форума
  2. Старый комментарий
    Аватар для iSmokeJC
    1. За каким тут рекурсия?
    2. Половина кода лишняя
    Python
    1
    2
    3
    4
    5
    6
    7
    8
    
    summ = 0
    while True:
       x = int(input())
       if x > summ > 0:
          break
       summ += x
    print('введено число, большее суммы')
    # ...
    Запись от iSmokeJC размещена 31.08.2021 в 08:25 iSmokeJC вне форума
  3. Старый комментарий
    Аватар для iSmokeJC
    #del
    Запись от iSmokeJC размещена 31.08.2021 в 08:25 iSmokeJC вне форума
  4. Старый комментарий
    Цитата:
    if x > summ > 0:
    Bash
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    zzz@zz MINGW32 ~
    $ cat <<\x > ./test.py
    # -*- coding: utf-8 -*-
    summ = 0
    while True:
       x = int(input())
       if x > summ > 0:
          break
       summ += x
    print('введено число, большее суммы')
    x
     
    zzz@zz MINGW32 ~
    $ python3 -X utf8 ./test.py
    1
    2
    введено число, большее суммы
     
    zzz@zz MINGW32 ~
    $ python3 -X utf8 ./test.py
    -2
    -1
    0
    999
    999999
    введено число, большее суммы
    В первом случае выход до ввода третьего числа
    Во втором невыход по вводу третьего и четвёртого
    Запись от x_lab размещена 31.08.2021 в 12:49 x_lab вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.