Как предотвратить ввод подсказки input () дважды и рассчитать правильный ответ? - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь запросить ввод пользователя один раз, но каждый раз, когда я запускаю код, он просит вас ввести число дважды в строке и печатает только сумму одного из первых введенных вами чисел.Любые решения, чтобы я мог спросить только один раз?

thesum=0.0
count=0
print('Welcome to Sum and Average Finder')
userinput=(float(input('Enter a Number or Hit Enter to Quit: ')))
while userinput !='':
    number=float(userinput)
    thesum+=number
    count+=1
    userinput=input('Enter a Number or Hit Enter to Quit: ')
    print('The Sum is',thesum)
    print('Avergae is',thesum/count)

Ответы [ 2 ]

0 голосов
/ 23 сентября 2019

Обычный способ сделать что-то подобное - использовать while True: «бесконечный» цикл и затем break выход из него, когда пользователь вводит что-то, указывающее, что он хочет остановить:

thesum = 0.0
count = 0

print('Welcome to Sum and Average Finder')

while True:
    userinput = input('Enter a Number or Hit Enter to Quit: ')
    if userinput == '':
        break
    number = float(userinput)
    thesum += number
    count += 1
    print('The Sum is', thesum)
    print('Average is', thesum / count)

Вашвопрос вроде как Запрашивать у пользователя ввод, пока он не даст действительный ответ в обратном порядке.Обратите особое внимание на часть в принятом ответе о избыточном использовании избыточных входных операторов .

0 голосов
/ 23 сентября 2019

Если я правильно понимаю ваш вопрос, просто измените оператор while на оператор if и удалите вторую строку ввода пользователя из своего кода, чтобы спросить пользователя только один раз:

thesum=0.0
count=0
print('Welcome to Sum and Average Finder')
userinput=(float(input('Enter a Number or Hit Enter to Quit: ')))
if userinput !='':
    number=float(userinput)
    thesum+=number
    count+=1
    print('The Sum is',thesum)
    print('Avergae is',thesum/count)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...