-1

私は、ある人が最初の日は 1 ペニー、2 日目は 2 ペニーで、毎日 2 倍になった場合に一定期間に稼げる金額を計算するプログラムを書いています。私はすべて完了しましたが、私はドルに入る必要があり、私はそれを行う方法がわかりません.00が必要なときに.0を返すだけです.

ありがとう

# Ryan Beardall Lab 8-1 10/31/13
#program calculates the amount of money a person would earn over a period of time if his or her salary is one penny the first day, two pennies the second day and continues to double each day. 
accumulatedPay = []
payPerDay = []
days = []
#User enters days worked to find out ho much money user will have
def numberDays():
    global daysWorked
    daysWorked = (input("Enter the days worked "))
    return daysWorked
def salaryOnDay(daysWorked):
    return float((2**(daysWorked-1))/100)
def calculations():
    earnings = 0
    for i in range (1, daysWorked + 1):
        salary = salaryOnDay(i)       
        currRow = [0, 0, 0]
        currRow[0] = i
        currRow[1] = salary
        earnings += salary
        currRow[2] = earnings
        days.append(currRow)
#program prints matrix
def main():
    numberDays()
    calculations()   
    for el in days:
        print el
main()
4

5 に答える 5

3

または、通貨の書式設定を使用することもできます

>>> import locale
>>> locale.setlocale( locale.LC_ALL, '' )
'English_United States.1252'
>>> locale.currency( 188518982.18 )
'$188518982.18'
>>> locale.currency( 188518982.18, grouping=True )
'$188,518,982.18'

(礼儀S.Lott)

于 2013-10-31T13:40:34.103 に答える
3

これを試して:

for el in days:
    print '{:.2f}'.format(el)

このドキュメントでは、文字列の書式設定について詳しく説明しています。

使用している Python のバージョンが古すぎる場合 (<2.7 だと思います)、次のことを試してください。

print '{0:.2f}'.format(el)

使用している Python のバージョンが古すぎる場合 (<2.6 だと思います)、以下を試してください:

print "%.2f"%el
于 2013-10-31T13:37:55.283 に答える
1

最初に float 形式を 0.01 として定義するだけで、もう少し簡単に同じ問題を解決できます。

def main():
    num_input = int(input('How many days do you have? '))
    # Accumulate the total
    total = 0.01
    for day_num in range(num_input):
        if day_num == 0:
            print("Day: ", day_num, end=' ')
            total = total
            print("the pennies today are:", total)
            day_num += day_num
        else:    
            print("Day: ", day_num + 1, end=' ')
            total += 2 * total
            print("the pennies today are:", total)         
main()

出力: 何日ありますか? 5
日: 0 今日のペニー: 0.01
日: 2 今日のペニー: 0.03
日: 3 今日のペニー: 0.09
日: 4 今日のペニー: 0.27
日: 5 今日のペニー: 0.81

于 2016-10-06T00:12:44.133 に答える