как выйти из оператора if и вернуться к началу - PullRequest
0 голосов
/ 25 сентября 2019

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

код ниже

 # check the weight of a single parcel
while True:
    pweight = float(input('How much does your parcel weigh in kg? '))
    if pweight > 10:
        print('Sorry the parcel is to heavy')
    elif pweight < 1:
        print('Sorry the parcel is to light')
    else:
        break
print('----------------------------------------------')
while True:
    height1 = float(input('Enter the parcel height in cm: '))
    if height1 > 80:
        print('Sorry, Your height is too large')
    else:
        break
print('----------------------------------------------')
while True:
    width1 = float(input('Enter the parcel width in cm: '))
    if width1 > 80:
        print('Sorry, Your width is too large')
    else:
        break
print('----------------------------------------------')
while True:
    length1 = float(input('Enter the parcel length in cm: '))
    if length1 > 80:
        print('Sorry, Your length is too large')
    else:
        break
print('----------------------------------------------')
while True:
    if (height1 + width1 + length1) > 200:
        print('Sorry, the sum of your dimensions are too large')
    else:
        print('Your parcels dimensions are', height1, 'x', width1, 'x', length1)
        print('Your parcel has been accepted for delivery, many thanks for using our service :)')
    break

например, если введенный вес был 11 или рост был больше 80, он всегда должен возвращаться к началу и спрашивать вес.** Если какое-либо условие не выполнено, мне нужно вернуться к началу и снова запросить вес.** программа должна перезапуститься и снова запросить вес.

1 Ответ

3 голосов
/ 25 сентября 2019

Оберните все вопросы одним циклом True вместо этого.В дополнение к разрыву вы должны использовать continue в условии, что вы хотите перезапустить вопрос с начала.

# check the weight of a single parcel
while True:
    pweight = float(input('How much does your parcel weigh in kg? '))
    if pweight > 10:
        print('Sorry the parcel is to heavy')
        continue
    elif pweight < 1:
        print('Sorry the parcel is to light')
        continue
    print('----------------------------------------------')
    height1 = float(input('Enter the parcel height in cm: '))
    if height1 > 80:
        print('Sorry, Your height is too large')
        continue
    print('----------------------------------------------')
    width1 = float(input('Enter the parcel width in cm: '))
    if width1 > 80:
        print('Sorry, Your width is too large')
        continue
    print('----------------------------------------------')
    length1 = float(input('Enter the parcel length in cm: '))
    if length1 > 80:
        print('Sorry, Your length is too large')
        continue
    print('----------------------------------------------')
    if (height1 + width1 + length1) > 200:
        print('Sorry, the sum of your dimensions are too large')
        continue
    else:
        print('Your parcels dimensions are', height1, 'x', width1, 'x', length1)
        print('Your parcel has been accepted for delivery, many thanks for using our service :)')
        break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...