前提・実現したいこと
pythonにおいて,数字を次第に減らしていくプログラムを実行したいのですが,整数ではうまくいくところが小数にするとnone表示となってしまいます。なぜでしょうか。
発生している問題・エラーメッセージ
none
該当のソースコード
python
1def pay_with_coins( amount ): 2 payment = int(amount) 3 list = [0,0,0,0,0,0,0,0] 4 while(payment != 0): 5 if payment >= 2: 6 list[0] = payment // 2 7 payment -= (payment//2)*2 8 continue 9 elif payment >= 1: 10 list[1] = 1 11 payment -= 1 12 elif payment >= 0.5: 13 list[2] = 1 14 payment -= 0.5 15 return list 16 17print(pay_with_coins(3.5))
試したこと
def pay_with_coins( amount ):
payment = int(amount)
list = [0,0,0,0,0,0,0,0]
while(payment != 0):
if payment >= 5:
list[0] = payment // 5
payment -= (payment//5)*5
continue
elif payment >= 2:
list[1] = 1
payment -= 2
elif payment >= 1:
list[2] = 1
payment -= 1
return list
print(pay_with_coins(8))
このように整数で実行してみると可能となるので小数部分に問題があるのではと考えたのですがわかりません。
補足情報(FW/ツールのバージョンの情報など)
python3.7使用
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/08 14:16