这是我正在处理的程序,但是我需要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连接到我喜欢的格式。谢谢。
答案 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_denom
和used_denom
不是字符串,请先使用str()
进行转换:
print("{0: 2d} ${1:8.2f}".format(str(amount_denom[i]).strip(),str(used_denom[i]).strip()),end = "")