Как исключить пустую строку и число меньше нуля в python при использовании цикла while - PullRequest
0 голосов
/ 01 февраля 2020

Я пишу простую программу, которая выполняет условие if-else. Моя программа получает от пользователя вес объекта в килограммах. , плавающее число, и распечатать цену за доставку. с помощью пока я хочу развернуть программу для работы и рассчитать общую стоимость для нескольких пакетов. Программа должна загружать вес пакета, пока пользователь не введет пустую строку или число, равное 0 или меньше. Затем программа распечатает общую цену для всех пакетов

, код выглядит так:

def packagePrice():
    weightInKg = float(input(" Enter the value of weight:"))
    totalPrise = 0

while weightInKg != "" or weight <= 0:
    if weightInKg <= 10:
        price = 149
    elif 10 < weightInKg <= 100:
        price = 500

    elif weightInKg  > 100:
        print ("Not allowed")

    totalPrise+= price
    print(totalPrise)

    weightInKg = float(input(" Enter the value of weight:"))

packagePrice()

, но при этом не запускается ни одна справка

1 Ответ

0 голосов
/ 01 февраля 2020

Это отвечает на вопрос?

def packagePrice():
    totalPrise = 0
    while True:
        weightInKg = input(" Enter the value of weight:")
        if weightInKg == '':
            break
        try:
            weightInKg = float(weightInKg)
        except ValueError:
            print("Text not allowed")
            continue
        if weightInKg <= 0:
            break
        if weightInKg <= 10:
            totalPrise += 149
        elif weightInKg <= 100:
            totalPrise += 500
        else:
            print("Not allowed")
    return totalPrise


print(packagePrice())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...