Как решить эту проблему, я запускаю в меню Pycharm Show, но не работает? - PullRequest
0 голосов
/ 03 мая 2020

Как мне решить эту проблему, когда я запускаю в меню Pycharm, но не работает?

  • шаг 1: когда я нажимаю 1, эта функция добавляет 1 рикша или когда я нажимаю 2 для автомобиля .
  • шаг 2: теперь я хочу узнать результат, затем нажмите 4, чтобы показать запись, но моя функция ничего не показывает

Код:

while True:
    print("Press 1 For Rickshaw\n")
    print("Press 2 For Car\n")
    print("Press 3 For Bus\n")
    print("Press 4 To Show The Record\n")
    print("Press 5 To Delete The Record\n")

    amount = 0
    count  = 0
    u_ip = int(input())
if u_ip == 1:
    amount = amount + 100
    count = count + 1


elif u_ip == 2:
    amount = amount + 200
    count = count + 2

elif u_ip == 3:
    amount = amout + 300
    count = count + 3

elif u_ip == 4:
    print("The Total amount",int(amount))
    print("The Total Number of vehicle parked =",int(count))

elif u_ip == 5:
    amount = 0
    count = 0

else:
    print("Invalid Number\n")

1 Ответ

0 голосов
/ 03 мая 2020

Ваша структура кода неверна.

  1. if-elif-else должно быть внутри while l oop.
  2. * * * * * * * * * * * * * * * * должно быть определено за пределами while l oop, потому что они были установлены в 0 в каждом l oop (из-за этого ваш "4 option" ничего не показал).
  3. Я рекомендую печатать только один раз использование (вне while l oop.)

Рабочий код:

# The following variables should be outside of while loop because these are erased in every loop.
amount = 0
count = 0

# Suggested to print the usage only once. Not in every loop.
print("Press 1 For Rickshaw")
print("Press 2 For Car")
print("Press 3 For Bus")
print("Press 4 To Show The Record")
print("Press 5 To Delete The Record")
print("press 6 to exit\n")

while True:

    u_ip = int(input("Please write your option: "))

    # is-elif-else should be inside the while loop!
    if u_ip == 1:
        amount = amount + 100
        count = count + 1

    elif u_ip == 2:
        amount = amount + 200
        count = count + 2

    elif u_ip == 3:
        amount = amount + 300  # Typo issue. It should be "amount"
        count = count + 3

    elif u_ip == 4:
        print("\nThe Total amount: {}".format(int(amount)))
        print("The Total Number of vehicle parked = {}\n".format(int(count)))

    elif u_ip == 5:
        amount = 0
        count = 0

    elif u_ip == 6:
        break

    else:
        print("Invalid Number\n")

Тест:

>>> python3 test.py 
Press 1 For Rickshaw
Press 2 For Car
Press 3 For Bus
Press 4 To Show The Record
Press 5 To Delete The Record
press 6 to exit

Please write your option: 1
Please write your option: 2
Please write your option: 4

The Total amount: 300
The Total Number of vehicle parked = 3

Please write your option: 5
Please write your option: 4

The Total amount: 0
The Total Number of vehicle parked = 0

Please write your option: 3
Please write your option: 4

The Total amount: 300
The Total Number of vehicle parked = 3

Please write your option: 6
...