所以我知道计算从更改中返回的账单和硬币的数量(例如:2 100美元的账单),您需要使用%
模块。
但为什么你需要%
模块,为什么人们不仅仅减去?
例如,我有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 :(得分:2)
%
不是模块;它被称为模数(或“余数”)运算符。
它是整数除法的对应物:
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.