假设价格是整数变量,其值是商品的美分价格(以美元为单位)。写一个声明,以单独的形式打印“X美元和Y美分”形式的价格值。因此,如果价格的价值是4321,那么您的代码将打印“43美元和21美分”。如果价值为501则会打印“5美元和1美分”。如果值为99,则您的代码将打印“0美元和99美分”。
我这样做了:
print (price/100,"dollars and",price%100, "cents")
结果Ex:2314
23.14 dollars and 14 cents
如何使结果看起来像:
23 dollars and 14 cents
答案 0 :(得分:1)
输入:
x = 4321
print (x/100),'dollars and',int(100*((x/100.00)-(x/100))),'cents'
输出:
43 dollars and 21 cents
答案 1 :(得分:0)
您可以使用:
price=2314
print (price/100,"dollars and",price%100, "cents")
这将输出:
(23, 'dollars and', 14, 'cents')
答案 2 :(得分:0)
OP在正确的轨道上;在Python 3+和以上版本中
print (price//100,"dollars and",price%100, "cents")
和
print (math.floor(price/100),"dollars and",price%100, "cents")
给出理想的结果。
这是结合了测试策略的直接字符串处理攻击:
#--------*---------*---------*---------*---------*---------*---------*---------*
# Desc: Print Dollars and Cents
#--------*---------*---------*---------*---------*---------*---------*---------*
def formatPrint(cents):
centsStr = str(cents)
d, c = centsStr[:-2], centsStr[-2:]
if cents > 99:
print(d + ' dollars and ' + c + ' cents')
else:
print('0 dollars and ' + c + ' cents')
return
x = [0,7,23,111,4321,54321]
for ndx in range(0, len(x)):
print (x[ndx], ':')
formatPrint(x[ndx])