Как завершить программу, используя пустую строку в python? - PullRequest
0 голосов
/ 18 февраля 2020
fee = []

age = int(input("Enter age: "))

while age != '':

    age = int(input("Enter age: "))

    if age <= 5:
        fee.append(0)
    elif age >= 6 and age <= 64:
        fee.append(50.00)
    else:
        fee.append(25.00)

total = sum(fee)
print("Total payment: ", total)

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

Ответы [ 2 ]

1 голос
/ 18 февраля 2020

Вы не можете сравнить строку с целым числом, это ваша основная проблема. Если вы извлекаете его у пользователя в виде строки и проверяете, действительно ли оно является целым числом или не будет работать. Этот код должен добиться цели:

def RepresentsInt(s):
    try: 
        int(s)
        return True
    except ValueError:
        return False

fee = []

r='start'

while r != '':

    r = input("Enter age: ")
    if RepresentsInt(r):
        age = int(r)
        if age <= 5:
            fee.append(0)
        elif age >= 6 and age <= 64:
            fee.append(50.00)
        else:
            fee.append(25.00)

total = sum(fee)
print("Total payment: ", total)
0 голосов
/ 18 февраля 2020
fee = 0

age = int(input("Enter age: "))

while age != '':
    try:
        age = int(input("Enter age: "))  // to avoid exception of string
    except:
        break
    if age <= 5:
        fee += 0  // no need to append if outcome is a number
    elif age >= 6 and age <= 64:
        fee += 50
    else:
        fee += 25

total = fee
print("Total payment: ", total)
...