Nazo77 Ответов: 1

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


Напишите программу под названием vending.py это имитирует торговый автомат по отношению к вычислению
изменение в зависимости от уплаченной суммы.
Программа примет в качестве входных данных стоимость приобретенного товара, а затем предложит пользователю добавить
деньги до тех пор, пока стоимость не будет достигнута/превышена. Затем он вычислит и распечатает изменение.
Предположим, что платежи и изменения указаны в суммах R50, R20, R10, R5, R2 и R1.
Пример ввода-вывода:
Enter the cost (in Rand):
21
Deposit a coin or note (in Rand):
10
Deposit a coin or note (in Rand):
20
Your change is:
1 x R5
2 x R2
NOTE: The program will calculate the minimum number of coins to give while making change.


Что я уже пробовал:

cost = 0
cost = eval(input("Enter the cost (in Rands): \n"))
dep1 = 0
dep1 = eval(input("Deposit a coin or note (in Rand): \n"))
total_dep = change
while dep1 < cost:
    dep2 = 0
    dep2 = eval(input("Deposit a coin or note (in Rand): \n"))
    total_dep = dep1 + dep2
    total_dep = total_dep - cost
if 100 >= change >= 50:
    fifty = (change // 50)
    print("Your change is: ", fifty, " x R50")
    change -= fifty
    if 50 > change >= 20:
        
        twenty = (change // 20)
        print("Your change is: ", twenty, " x R20")
        change -= twenty
        if 20 > change >= 10:
            ten = (change // 10)
            print("Your change is: ", ten, " x R10")
            change -= ten
            if 10 > change >= 5:
                five = (change // 5)
                print("Your change is: ", five, " x R5")
                change -= five
                if 5 > change >= 2:
                    two = (change // 2)
                    print("Your change is: ", two, " x R2")
                    change -= two
                    if 2 > change >= 1:
                        one = (change // 1)
                        print("Your change is: ", one, " x R1")
                        change -= one

Patrice T

опишите проблемы

1 Ответов

Рейтинг:
11

CPallini

Попробуй

cost = eval(input("Enter the cost (in Rands): "))
dep = 0
while dep < cost:
  dep = dep + eval(input("Deposit a coin or note (in Rand): "))
print("Your change is:")
change = dep - cost
if change >= 50:
  fifty = change // 50
  print("{0} x R50".format(fifty))
  change = change - fifty * 50
if change >= 20:
  twenty = change // 20
  print("{0} x R20".format(twenty))
  change = change - twenty * 20
if change >= 10:
  ten = change // 10
  print("{0} x R10".format(ten))
  change = change - ten * 10
if change >= 5:
  five = change // 5
  print("{0} x R5".format(five))
  change = change - five * 5
if change >= 2:
  two = change // 2
  print("{0} x R2".format(two))
  change = change - two * 2
if change >= 1:
  one = change
  print("{0} x R1".format(one))


Nazo77

Большое вам спасибо, это действительно работает, я вижу, где я ошибался.

CPallini

Добро пожаловать.