#遇到的问题
#代码
num=0
end=0
tot=0
count=0
while(num!=-1):
num=int(input("Anna kurssiarvosana väliltä 1-5 (-1 lopettaa): "))
tot=tot+num
count=count+1
if(num not in range(1,6) and num!=-1):
print("Väärä syöte. Vain arvosanat 1-5 kelpaavat (-1 lopettaa).")
count=count-1
tot=tot-num
continue
if(num==-1):
tot=tot+1
count=count-1
break
end=tot/count
print("Arvosanojen keskiarvo on %.2f."%end)
print("Arvosanojen keskiarvo on %.2f."%end)
->
print("Arvosanojen keskiarvo on %.2f"%end.rstrip('0').rstrip('.') + ".")
end=f"{tot/count:.2f}".rstrip('0')
print("Arvosanojen keskiarvo on %s."%end)
先格式化输出结果为字符串,再用字符串方法str.rstrip('0')去除小数部分右边的'0'字符就好。
该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
在你的代码中,使用了字符串格式化操作来保留小数位数,"%.2f"
表示保留两位小数。
具体来说,在这行代码中:
print("Arvosanojen keskiarvo on %.2f."%end)
%.2f
表示将end
变量的值格式化为带有两位小数的浮点数,然后将其插入到字符串中。
如果你想要保留更多或更少的小数位数,只需要相应地改变格式化字符串中的数字即可。例如,如果你想要保留三位小数,可以使用"%.3f"
;如果你想要保留一位小数,可以使用"%.1f"
。
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
最后是这么着
num=0
end=0
tot=0
count=0
while(num!=-1):
num=int(input("Anna kurssiarvosana väliltä 1-5 (-1 lopettaa): "))
tot=tot+num
count=count+1
if(num not in range(1,6) and num!=-1):
print("Väärä syöte. Vain arvosanat 1-5 kelpaavat (-1 lopettaa).")
count=count-1
tot=tot-num
continue
if(num==-1):
tot=tot+1
count=count-1
break
end=tot/count
su=round(end,2)
print(f"Arvosanojen keskiarvo on {su}".rstrip('0').rstrip('.') + ".")