鱼C论坛

 找回密码
 立即注册
查看: 1412|回复: 3

[已解决]python怎么在输入浮点数值时保留两位小数?具体要求如下

[复制链接]
发表于 2023-11-19 22:12:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输入
输入包含12行,每行包含一个数,为某个月的结余。每个数都是不大于1,000,000的正数,保留两位小数,省略"$"符。
输出
输出一个数,为这12个月的平均月末结余,保留到小数点后第二位,并在最前面加一个"$"符。


样例输入
100.00
489.12
12454.12
1234.10
823.05
109.20
5.27
1542.25
839.18
83.99
1295.01
1.75


样例输出
$1581.42

本人编写的代码如下:
#财务管理
sum=0
for i in range(12):
    n=float(input())
    n_num=round(n,2)
    sum+=n_num
    i+=1
   
print(sum)
a=sum/12
print("${:.2f}".format(a))

请问如何修改
最佳答案
2023-11-19 22:13:09
你的代码几乎正确,只需要进行一些微调就可以达到要求。以下是修改后的代码:
# 财务管理total = 0for i in range(12):    n = float(input())    n_num = round(n, 2)    total += n_numaverage = total / 12formatted_average = "${:.2f}".format(average)print(formatted_average)
这样你就能够得到正确的输出了。希望这对你有所帮助。

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-19 22:13:09 | 显示全部楼层    本楼为最佳答案   
你的代码几乎正确,只需要进行一些微调就可以达到要求。以下是修改后的代码:
# 财务管理total = 0for i in range(12):    n = float(input())    n_num = round(n, 2)    total += n_numaverage = total / 12formatted_average = "${:.2f}".format(average)print(formatted_average)
这样你就能够得到正确的输出了。希望这对你有所帮助。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-19 22:17:19 | 显示全部楼层
# 财务管理
total = 0
for i in range(12):
    n = float(input())
    total += n

average = total / 12
print("${:.2f}".format(average))

以上代码对输入的12个月结余进行累加后,计算平均值,并将结果格式化为保留两位小数的金额形式。原始代码中的 n_num 和多余的 i+=1 操作都是不必要的,因此进行了相应的修改。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-20 10:27:09 | 显示全部楼层
本帖最后由 eat蟒蛇 于 2023-11-20 10:29 编辑

[\code]
import re
def is_number(string):
    pattern = re.compile(r'^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$')
    return bool(pattern.match(string))
sum = 0
for i in range(12):
    n = input("请输入的"+str(i+1)+"个数据:")
    if is_number(n):
        n_num = float(n)
        sum += n_num
    else:
        n = input("数据有误,请重新输入的"+str(i+1)+"个数据:")
        while True:
            if is_number(n):
                n_num = float(n)
                sum += n_num
                break
            else:
                n = input("数据有误,请重新输入的"+str(i+1)+"个数据:")

average = sum / 12
print("${:.2f}".format(average))
[\code]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 15:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表