2016-10-09 3 views
-1

Я написал следующий код в Python для моделирования банкомата:Как подавить печать при определенных обстоятельствах в python?

withd = int(input("How much do you want to withdraw? ")) 

# Withdrawal shown to customer 
print("Withdrawal: ", withd, " CHF") 

# 100 bills 
a = withd // 100 
a_rest = withd % 100 

# 50 bills 
b = a_rest // 50 
b_rest = a_rest % 50 

# 20 bills 
c = b_rest // 20 
c_rest = b_rest % 20 

# 10 bills 
d = c_rest // 10 

print("100", a) 
print("50", b) 
print("20", c) 
print("10", d) 

Если я печатаю в 50 в начале, я получаю следующий вывод:

How much do you want to withdraw? 50 
Withdrawal: 50 CHF 
100 0 
50 1 
20 0 
10 0 

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

+3

Вы узнали о 'if' заявление? Посмотрите на это. – TigerhawkT3

+0

Да, у меня есть. Однако я новичок в python. Так скажите мне, если я иду в правильном направлении: 'if a, b, c, d> 0: print (?) Else:?'. Я совершенно не согласен с этим подходом? – Kris

+1

Вид, да. Вам нужно будет сделать больше исследований и узнать, как это работает. – TigerhawkT3

ответ

0

Решение, очевидно, должно проверить if a>0:, if b>0: и так далее. Но как насчет бросания в петлю, так что вам не нужно жестко кодировать условия для всех счетов?

withd = int(input("How much do you want to withdraw? ")) 

# Withdrawal shown to customer 
print("Withdrawal: ", withd, " CHF") 

bills = [100, 50, 20, 10] 
res = {} 

rest = withd 

for bill in bills: 
    res[bill] = rest // bill 
    rest = rest % bill 

    if res[bill] > 0: 
     print(bill, res[bill]) 

В этом примере вы также хранить количество счетов в словаре, если вам нужно и это для дальнейших вычислений

+0

Я только начал писать на питоне, и я еще не продвинулся с петлями. Спасибо за ответ, хотя. Мне придется больше смотреть на циклы и выражения 'if'. – Kris

+0

Stack Overflow предназначен для вопросов, ответивших после более чем одного дня обучения на языке. В противном случае вы получите только такие ответы, которые не объясняют понятия, которые вы еще не изучили, и, следовательно, имеют очень незначительную ценность. – TigerhawkT3

Смежные вопросы