1

さまざまな通貨ノートのリストがあり、各ループの後に次のインデックスにジャンプしたいと思います。どうやってやるの?最初のループの後、str dividorを[1]に等しくし、次に[2]、次に[3]などにします。

money_list = [100,50,20,10,5,1,0.5]
dividor = money_list[0]

while change>0.5:
     print (change/100) + " X " + [0]
     change 
     dividor + [0]
4

3 に答える 3

0

money_listアレイをループしてみませんか?

いずれにせよ、金額を入力して、それに相当する金額を変更できるようにしたいと思いますか?

これが私がそれをする方法です:

#!/usr/bin/python
#coding=utf-8

import sys

#denominations in terms of the sub denomination
denominations = [5000, 2000, 1000, 500, 200, 100, 50, 20, 10, 5, 2, 1]
d_orig = denominations[:]


amounts = [ int(amount) for amount in sys.argv[1:] ]

for amount in amounts:

  denominations = [[d] for d in d_orig[:]]
  tmp = amount

  for denomination in denominations:
    i = tmp / denomination[0]
    tmp -= i * denomination[0]
    denomination.append(i)

  s = "£" + str(amount / 100.0) + " = "

  for denomination in denominations:
    if denomination[1] > 0:
      if denomination[0] >= 100:
    s += str(denomination[1]) + " x £" + str(denomination[0] / 100) + ", "
      else:
    s += str(denomination[1]) + " x " + str(denomination[0]) + "p, "

  print s.strip().strip(",")

そしてターミナルから。

$ ./change.py 1234
£12.34 = 1 x £10, 1 x £2, 1 x 20p, 1 x 10p, 2 x 2p

または確かにそして数の数

$ ./change.py 1234 5678 91011
£12.34 = 1 x £10, 1 x £2, 1 x 20p, 1 x 10p, 2 x 2p
£56.78 = 1 x £50, 1 x £5, 1 x £1, 1 x 50p, 1 x 20p, 1 x 5p, 1 x 2p, 1 x 1p
£910.11 = 18 x £50, 1 x £10, 1 x 10p, 1 x 1p
于 2012-10-29T20:22:33.853 に答える
0

現在のインデックスを変数に格納する必要があります。

money_list = [100,50,20,10,5,1,0.5]
cur_index = 0

while change>0.5:
     print (change/100) + " X " + money_list[cur_index]
     change 
     cur_index = cur_index + 1

または、イテレータを使用できます。

money_list = [100,50,20,10,5,1,0.5]
money_iterator = iter(money_list)

while change>0.5:
    try:
        dividor = money_iterator.next()
    except StopIteration:
        break
    print (change/100) + " X " + dividor
    change 
于 2012-10-29T17:25:17.770 に答える
0
money_list = [100,50,20,10,5,1,0.5]
counter = 0

while change>0.5:
    dividor = money_list[counter]
    print (change/100) + " X " + money_list[counter])
    change 
    counter+=1
于 2012-10-29T17:26:31.967 に答える