在python gpa计算器中四舍五入到小数点后2位

o2g1uqev  于 2023-10-21  发布在  Python
关注(0)|答案(4)|浏览(219)

在我的作业中,我被要求创建一个GPA计算器。他们想让我编辑我的代码,使GPA输出总是显示两位小数。但是,我的似乎不工作!丁:
输出仅打印到小数点后1位
以下是我目前为止尝试方法,我还尝试了String而不是Float:

gpa = total/num_of_subjects #using this formula the gpa is calculated
gpa = float(round(gpa, 2))

print (gpa) #output gpa
noj0wjuj

noj0wjuj1#

尝试将其格式化为仅显示2位小数

gpa = total / num_of_subjects
print(f"{gpa:.2f}")
rslzwgfq

rslzwgfq2#

您可以将输出格式化为"{:0.2f}"的字符串值,因此尽管gpa值,您的答案将始终具有2位十进制数:

total, num_of_subjects = 100, 10

gpa = total/num_of_subjects
gpa = float(round(gpa, 2))

print("{:0.2f}".format(gpa))

10.00

vc9ivgsu

vc9ivgsu3#

你需要使用int来使它向上舍入而不是向下舍入。你的代码的另一个问题是,你使用num_of_subjects作为输入,然后试图除以它。因此,如果有人输入3个科目,他们的平均绩点将是0.0。以下是你应该如何解决它:

def calculateGPA():

total = float(input("Enter the number of units completed"))

num_of_subjects = float(input("Enter the number of courses taken"))

gpa = total / num_of_subjects

print ("The GPA is", gpa)

if gpa >= 4.0:

print ("Excellent")

elif gpa > 3.5 and <4.0:

print ("Very Good")

else :

print ("Good")

calculateGPA()
qzlgjiam

qzlgjiam4#

from decimal import Decimal

total = 109

num_of_subjects = 33
gpa = total/num_of_subjects #using this formula the gpa is calculated
gpcc= Decimal(gpa)
print(round(gpcc,2))

这里你有一个更好的解决同样的问题!干杯!干杯!

相关问题