与えられた数字を使って、それらの数字に「5」、「2」、「1」がいくつ入るかを計算する必要があります。申し訳ありませんが、私の英語はこの種の説明のために少し制限されています:) 多分例はより良いです:
演習: print stamps(8) 結果は次のようになります: (1, 1, 1) (1 つの 5p スタンプ、1 つの 2p スタンプ、および 1 つの 1p スタンプ)
私はそれを達成する方法を見つけましたが、tuple() は結果と「なし」を出力していますが、その理由はわかりません。また、正しい結果に到達するためのより良い、より短い方法があるかどうかも知りたいです。
これは私がやったことです:
def stamps(dinero):
p5=dinero/5
p5a=p5*5
resultado1=dinero-p5a
dinero=resultado1
p2=dinero/2
p2a=p2*2
resultado2=dinero-p2a
dinero=resultado2
p1=dinero/1
p1a=p1*1
resultado3=dinero-p1a
dinero=resultado3
print tuple([p5,p2,p1])
私が得た結果: print stamps(8) is (1, 1, 1) None
更新:より良い解決策を 見つけました。誰かがより良い解決策を知りたい場合に備えて、ここに投稿します。
def stamps(n):
#Basically, thats the same as return n/5, n%5/2, n%5%2
return n/5, (n-5*(n/5))/2, (n-5*(n/5))-2*((n-5*(n/5))/2)