2015-01-17 39 views
-1

所以我知道計算號碼從變更中返回的票據和硬幣(例如:2 $ 100票據),您需要使用%模塊。有人可以向我解釋一下計算python變更賬單和硬幣數量的方法嗎?

但是,爲什麼你需要%模塊以及人們怎麼不只是減去?

例如,我有$ 100的變化

我知道我有這使得它10000cents

cents = int(change*100) ---->10000cents

所以當我計算出有多少$ 100的法案,$ 50張鈔票將其更改爲便士,等變化我必須回來,我怎麼需要%,爲什麼我需要分裂?

例: cents = change*100

hundered_dollars = int(cents /10000)如果我把這裏,10000/10000,等於1,但是當我print(hundered_dollars)它打印它爲0!

cents = cents %10000我懷疑這是因爲此%

我超新的節目,我不能只換我的頭周圍!

+0

很難理解什麼是您的實際問題。 –

+0

我只是不明白爲什麼你應該使用%的東西,我繼續看到其他人不會從代碼中減去!像這裏http://www.chegg.com/homework-help/questions-and-answers/python-program-designed-calculate-european-change-transaction-works-perfectly-fine-need-ge-q4283254 @Defalt – Elsa

+0

他們怎麼沒有下降?他們如何跟蹤需要計算多少變化? – Elsa

回答

2

%不是模塊;它被稱爲模數(或「餘數」)運算符。

它是整數divison的對應:

9 == 4 * 2 + 1 

9 // 4 == 2 # integer divison 
9 % 4 == 1  # remainder 

如此,例如:

# paying $63.51 
x = 6351 // 1000  # == 6 maximum number of $10.00 bills 
y = 6351 % 1000  # == 351 $3.51 not payable in 10s. 

# you could instead do 
y = 6351 - (6351 // 1000) * 1000 

# this would give the same result, 
# but you've got to admit it's a lot 
# less readable. 
+0

ohmygod非常感謝你!所以%需要計算你剩下多少錢,你可以在下一組賬單中使用它(例如下降到5美元!所以現在我做z = 351 // 500是0,所以你不能使用任何5美元賬單和它離開351%500 = 702剩下嗎? – Elsa

+0

我很開心,我真的很感謝幫助!!!!!!!我現在明白了! – Elsa

+0

你也可以使用divmod函數同時執行這兩個步驟: 'x,y = divmod(6531,1000)'。 – lvc

相關問題