Python不允许我在获得平均分数时只打印一次
嗨,我是python新手,基本上我想得到平均分数,但是它打印了3次,有没有办法在函数中只打印一次平均值Python不允许我在获得平均分数时只打印一次,python,if-statement,Python,If Statement,嗨,我是python新手,基本上我想得到平均分数,但是它打印了3次,有没有办法在函数中只打印一次平均值 student = { "name" : "Ali", "program" :"computer programming", "marks1":38, "marks2":39, "marks3": 40 } def average(): mark
student = {
"name" : "Ali",
"program" :"computer programming",
"marks1":38,
"marks2":39,
"marks3": 40
}
def average():
mark1 =student["marks1"]
mark2 = student["marks2"]
mark3 = student["marks3"]
averagemarks = mark1+mark2+mark3
averagemarks = averagemarks/3
print(averagemarks)
return averagemarks
def result():
if(average()>=90):
print("Excellent")
elif(50 <= average() <= 89):
print("very good")
elif(average()<=49):
print("fail")
result()
student={
“姓名”:“阿里”,
“程序”:“计算机编程”,
“标记1”:38,
“标记2”:39,
“marks3”:40
}
def average():
mark1=学生[“marks1”]
mark2=学生[“marks2”]
mark3=学生[“marks3”]
平均标记=标记1+标记2+标记3
平均标记=平均标记/3
打印(平均标记)
返回平均值
def result():
如果(平均值()>=90):
打印(“优秀”)
elif(50def平均去除打印
student={
“姓名”:“阿里”,
“程序”:“计算机编程”,
“标记1”:38,
“标记2”:39,
“marks3”:40
}
def average():
mark1=学生[“marks1”]
mark2=学生[“marks2”]
mark3=学生[“marks3”]
平均标记=标记1+标记2+标记3
平均标记=平均标记/3
返回平均值
def result():
数据=平均值()
如果数据>=90:
打印(“优秀”)
elif 50您平均呼叫了3次。因此,三次打印输出
修改结果
函数如下
def result():
average_result = average()
if(average_result>=90):
print("Excellent")
elif(50 <= average_result <= 89):
print("very good")
elif(average_result<=49):
print("fail")
result()
def result():
平均结果=平均值()
如果(平均结果>=90):
打印(“优秀”)
elif(50您平均调用了3次(if,elif,elif)。所以输出被打印了三次。
因此,您可以将其放入变量中,使其只执行一次
student = {
"name" : "Ali",
"program" :"computer programming",
"marks1":38,
"marks2":39,
"marks3": 40
}
def average():
mark1 =student["marks1"]
mark2 = student["marks2"]
mark3 = student["marks3"]
averagemarks = mark1+mark2+mark3
averagemarks = averagemarks/3
print(averagemarks)
return averagemarks
def result():
aver = average()
if(aver>=90):
print("Excellent")
elif(50 <= aver <= 89):
print("very good")
elif(aver<=49):
print("fail")
result()
student={
“姓名”:“阿里”,
“程序”:“计算机编程”,
“标记1”:38,
“标记2”:39,
“marks3”:40
}
def average():
mark1=学生[“marks1”]
mark2=学生[“marks2”]
mark3=学生[“marks3”]
平均标记=标记1+标记2+标记3
平均标记=平均标记/3
打印(平均标记)
返回平均值
def result():
平均值=平均值()
如果(平均值>=90):
打印(“优秀”)
elif(50在average函数中,您直接打印averagemarks。因此,每次调用average()时,它都会调用函数并打印averagemarks。您可以尝试以下代码
student = {
"name" : "Ali",
"program" :"computer programming",
"marks1":38,
"marks2":39,
"marks3": 40
}
def average():
mark1 =student["marks1"]
mark2 = student["marks2"]
mark3 = student["marks3"]
averagemarks = mark1+mark2+mark3
averagemarks = averagemarks/3
return averagemarks
def result():
avg = average()
print(avg)
if(avg>=90):
print("Excellent")
elif(50 <= avg <= 89):
print("very good")
elif(avg<=49):
print("fail")
result()
student={
“姓名”:“阿里”,
“程序”:“计算机编程”,
“标记1”:38,
“标记2”:39,
“marks3”:40
}
def average():
mark1=学生[“marks1”]
mark2=学生[“marks2”]
mark3=学生[“marks3”]
平均标记=标记1+标记2+标记3
平均标记=平均标记/3
返回平均值
def result():
平均值=平均值()
打印(平均值)
如果(平均值>=90):
打印(“优秀”)
elif(50需要纠正的一些事情
您需要从average()
函数中删除打印语句
函数average()
正在返回一个值。请尝试将其存储到变量中,然后使用该变量进行检查
可以像我所做的那样稍微修改用于比较值的if语句
更新后的代码如下所示:
student = {
"name" : "Ali",
"program" :"computer programming",
"marks1":38,
"marks2":39,
"marks3": 40
}
def average():
mark1 = student["marks1"]
mark2 = student["marks2"]
mark3 = student["marks3"]
return ((mark1+mark2+mark3)/3)
def result():
x = average()
if x >= 90:
print("Excellent")
elif x >= 50:
print("very good")
else:
print("fail")
result()
您应该只调用average()函数一次
student = {
"name" : "Ali",
"program" :"computer programming",
"marks1":38,
"marks2":39,
"marks3": 40}
def average():
mark1 =student["marks1"]
mark2 = student["marks2"]
mark3 = student["marks3"]
averagemarks = mark1+mark2+mark3
averagemarks = averagemarks/3
print(averagemarks)
return averagemarks
average_mark = average()
def result():
if(average_mark >=90):
print("Excellent")
elif(50 <= average_mark):
print("very good")
else:
print("fail")
result()
student={
“姓名”:“阿里”,
“程序”:“计算机编程”,
“标记1”:38,
“标记2”:39,
“marks3”:40}
def average():
mark1=学生[“marks1”]
mark2=学生[“marks2”]
mark3=学生[“marks3”]
平均标记=标记1+标记2+标记3
平均标记=平均标记/3
打印(平均标记)
返回平均值
平均分=平均分()
def result():
如果(平均分>=90):
打印(“优秀”)
elif(50)将average()
分配给一个变量,并使用该变量进行比较,而不是调用函数3次average()函数内部有一条print语句。每次调用该函数时,它都会打印averagemarks
的值。就像JacksonPro所说的那样,接收average()的值然后比较这个变量。你调用这个函数3次。你应该把值接收到一个变量中,然后比较(在result()函数中)好的,这是我的错。