tunnid = int(input("Sisestage oma töötundide arv ühes nädalas: "))
tasu = int(input("Sisestage oma tunnitasu: "))
if tunnid <= 40:
print("Teie nädalapalk on " + str(tunnid*tasu))
else:
print("Teie nädalapalk on " + str(tunnid*tasu*1.5))
如果我乘以60 * 10,否则我应该得到900,但程序给我900.0 所以我的问题是,如何从答案中删除这个.0,我需要在代码中更改什么?
p.s我只是一个初学者,所以请不要判断:)
答案 0 :(得分:3)
只需使用int
转换号码:
print('Teie nädalapalk on {}'.format(int(tunnid * tasu * 1.5)))
或者,您可以使用format
迷你语言:
print('Teie nädalapalk on {:.0f}'.format(tunnid * tasu * 1.5))
.0f
告诉数字被截断为0小数(即整数表示)
答案 1 :(得分:1)
最简单的方法是将float
值输入到int
。例如:
>>> x = 100.0
>>> x = int(x)
>>> x
100
因此,在您的代码中,您应该这样做:
print("Teie nädalapalk on " + str(int(tunnid*tasu)))
# Note: "str(tunnid*tasu)" replaced with "str(int(tunnid*tasu))"
答案 2 :(得分:0)
基本上你想让答案为整数,如果我是正确的你可以做到 将其类型转换为整数:
print("Teie nädalapalk on " + str(int(tunnid*tasu*1.5)))
它应该准确地给出你想要的东西。 有关typecast float to int或反之亦然的更多信息,请参阅此处Peterbe.com
答案 3 :(得分:0)
添加类型转换操作以将float转换为int。而不是str(tunnid*tasu*1.5)
使用str(int(tunnid*tasu*1.5))
。
但即使产品不是整数,这也会删除小数部分。
如果你想要处理这种情况,你将不得不添加额外的支票。
if tunnid*tasu*1.5 - int(tunnid*tasu*1.5) > 1e-10:
print("Teie nädalapalk on " + str(tunnid*tasu*1.5))
else
print("Teie nädalapalk on " + str(int(tunnid*tasu*1.5)))
1e-10是一个非常小的数字,只是为了检查小数部分是否为非零。你可以进一步减少它。
答案 4 :(得分:0)
>>> num = 900.0 # tunnid * tasu * 1.5
>>> int(num) if num == int(num) else num
900
>>> num = 900.6 # tunnid * tasu * 1.5
>>> int(num) if num == int(num) else num
900.6