我需要在我使用的面额输出中加上'$'

时间:2016-09-14 14:58:14

标签: python

http://ideone.com/QxPDFh

这是我正在处理的程序,但是我需要amount_denom来显示$和数字。我怎么做到这一点?我需要修复print语句但是怎么做?我是编码的新手,所以有时我看不到明显的东西。谢谢。

def main():

    denominations = [20, 10, 5, 1, .25, .10, .05, .01]
    used_denom = []
    amount_denom = []

    user_input = float(input('enter a dollar amount: '))

#Keep asking user to re-enter input until they enter a value (0-200)
    while user_input < 0 or user_input > 200:
        user_input = float(input('re-enter a dollar amount: '))

#Traverse the list to breakdown the user_input into denominations. 
    remainder = user_input
    for d in denominations:
        num_denom = int(remainder / d)

        if num_denom > 0:

            used_denom.append(d)

            amount_denom.append(num_denom)

#Avoid dividing by a float (prevents .01 issue from occurring)
        remainder = (remainder*100) % (d * 100) / 100

#Traverse the amount_denom list and print the output to be formatted a certain way. 
    for i in range(len(amount_denom)):

        print("{0: 2d}{1:8.2f}".format(amount_denom[i],used_denom[i]),end = "")
        print("s" if amount_denom[i] > 1 else "")


main() 

print("{0: 2d}  ${1:8.2f}".format(amount_denom[i],used_denom[i]),end="")

这只是告诉我: https://gyazo.com/ff41f5c82567c71cca05340f23a51e98

发现我只需要将8.2f更改为5.2f以将$和used_denom连接到我喜欢的格式。谢谢。

1 个答案:

答案 0 :(得分:0)

您可以在$声明中添加print吗?

print("${0: 2d}{1:8.2f}".format(amount_denom[i],used_denom[i]),end = "")

或:

print("{0: 2d} ${1:8.2f}".format(amount_denom[i],used_denom[i]),end = "")

您可以将$放置在字符串中的任何位置。您还可以在字符串中添加任何其他字符(例如_-)。

要删除变量周围的空格,请使用strip()

print("{0: 2d} ${1:8.2f}".format(amount_denom[i].strip(),used_denom[i].strip()),end = "")

如果amount_denomused_denom不是字符串,请先使用str()进行转换:

print("{0: 2d} ${1:8.2f}".format(str(amount_denom[i]).strip(),str(used_denom[i]).strip()),end = "")