A. python3计算每个学生的总成绩
数量少的话可以用列表循环来实现
数量多的话就要用pandas来实现了
B. python程序功能输入若干个的学生成绩统计分数大于等于85
摘要
C. 用python编辑成绩统计系统
# -*- coding: cp936 -*-
class StuInfo:
def __init__(self):
self.Stu=[{"Sno":"1","Sname":"姓名","ChineseScore":64,"MathsScore":34,"EnglishScore":94,"ComputerScore":83},
{"Sno":"2","Sname":"姓名","ChineseScore":44,"MathsScore":24,"EnglishScore":44,"ComputerScore":71},
{"Sno":"3","Sname":"姓名","ChineseScore":74,"MathsScore":35,"EnglishScore":74,"ComputerScore":93},
{"Sno":"4","Sname":"姓名","ChineseScore":94,"MathsScore":54,"EnglishScore":24,"ComputerScore":73}]
self.attribute={"Sno":"学号",
"Sname":"姓名",
"ChineseScore":"语文成绩",
"MathsScore":"数学成绩",
"EnglishScore":"英语成绩",
"ComputerScore":"计算机成绩"
}
def _add(self):
'''添加'''
singleInfo={}
for i in self.attribute:
if "Score" in i:
singleInfo[i]=int(raw_input(self.attribute[i]+"\n"))
else:
singleInfo[i]=raw_input(self.attribute[i]+"\n").strip()
self.Stu.append(singleInfo)
print "添加成功OK"
for i in singleInfo:
print i,"=",singleInfo[i]
def _del(self):
"""删除学号为Sno的记录"""
Sno=raw_input("学号:\n")
self.Stu.remove(self.__getInfo(Sno))
print "删除成功OK"
def _update(self):
"""更新数据"""
Sno=raw_input("学号\n").strip()
prefix="修改"
updateOperate={"1":"ChineseScore",
"2":"MathsScore",
"3":"EnglishScore",
"4":"ComputerScore"}
for i in updateOperate:
print i,"-->",prefix+self.attribute[updateOperate[i]]
getOperateNum=raw_input("选择操作:\n")
if getOperateNum:
getNewValue=int(raw_input("输入新的值:\n"))
record=self.__getInfo(Sno)
record[updateOperate[getOperateNum]]=getNewValue
print "修改"+record["Sname"]+"的"+str(updateOperate[getOperateNum])+"成绩=",getNewValue,"\n成功OK"
def _getInfo(self):
"""查询数据"""
while True:
print "1->学号查询 2->条件查询 3->退出"
getNum=raw_input("选择:\n")
if getNum=="1":
Sno=raw_input("学号:\n")
print filter(lambda record:record["Sno"]==Sno,self.Stu)[0]
elif getNum=="2":
print "ChineseScore 语文成绩;","MathsScore 数学成绩;","EnglishScore 英语成绩;","ComputerScore 计算机成绩;"
print "等于 ==,小于 <, 大于 > ,大于等于 >=,小于等于<= ,不等于!="
print "按如下格式输入查询条件 eg: ChineseScore>=60 "
expr=raw_input("条件:\n")
Infos=self.__getInfo(expr=expr)
if Infos:
print "共%d记录"%len(Infos)
for i in Infos:
print i
else:
print "记录为空"
elif getNum=="3":
break
else:
pass
def __getInfo(self,Sno=None,expr=""):
"""查询数据
根据学号 _getInfo("111111")
根据分数 _getInfo("EnglishSorce>80")"""
if Sno:
return filter(lambda record:record["Sno"]==Sno,self.Stu)[0]
for operate in [">=",">","<=","<","==","!="]:
if operate in expr:
gradeName,value=expr.split(operate)
return filter(lambda record: eval( repr(record[gradeName.strip()])+operate+value.strip()) ,self.Stu)
return {}
def _showAll(self):
"""显示所有记录"""
for i in self.Stu:
print i
@staticmethod
def test():
"""测试"""
_StuInfo=StuInfo()
while True:
print "1->录入数据 2->修改数据 3->删除数据 4->查询数据 5->查看数据 6->退出"
t=raw_input("选择:\n")
if t=="1":
print "录入数据"
_StuInfo._add()
elif t=="2":
print "修改数据"
_StuInfo._update()
elif t=="3":
print "删除数据"
_StuInfo._del()
elif t=="4":
print "查询数据"
_StuInfo._getInfo()
elif t=="5":
print "显示所有记录"
_StuInfo._showAll()
elif t=="6":
break
else:
pass
if __name__=="__main__":
StuInfo.test()
D. Python至少输入五个成绩怎么编程
参考代码如下:
scores = list(map(lambda x:int(x),list(input('请输入至少5个学生的成绩(用空格分隔):').split(' '))))
maxScore = max(scores)
for s in scores:
if s >= maxScore - 10:
print('百分制成绩为{},等级为:{}'.format(s, "A"))
elif s >= maxScore - 20:
print('百分制成绩为{},等级为:{}'.format(s, "B"))
elif s >= maxScore - 30:
print('百分制成绩为{},等级为:{}'.format(s, "C"))
elif s >= maxScore - 40:
print('百分制成绩为{},等级为:{}'.format(s, "D"))
else:
print('百分制成绩为{},等级为:{}'.format(s, "F"))
运行结果:
E. python中输入若干同学成绩(用输入-1表示输入结束)如何用循环语句求及格学生的平均成绩
实现该功能的代码如下:
scores = [] #定义列表,保存及格学生的分数
score = float(input("请输入学生成绩:")) #接收输入
while score!=-1: #输入值不等于-1时,执行循环体
if score>=60: #判断成绩是否大于60
scores.append(score)#及格的分数放入列表中
score = float(input("请输入学生成绩:")) # 接收输入
if len(scores)>0: #加入此判断,避免出现除0异常
print("及格学生人数为:",len(scores))
print("及格学生的平均成绩为:", sum(scores)/len(scores))
else:
print("未输入学生的成绩")
F. python输入五门成绩,求总分和平均分
有5个学生,每个学生修4门课程,求每个学生所有成绩的总分和平均分
#include <stdio.h>
#define First 5
#define Second 6
int main(void)
{
float a[First][Second],sum=0.0;
int i,j,cnt=1;
printf("分别输入5名同学的4门成绩:\n");
for(i=0;i<First;i++)
{
for(j=0;j<Second-2;j++)
{
scanf("%f",&a[i][j]);
}
}
for(i=0;i<First;i++)
{
for(j=0;j<Second-2;j++)
{
sum+=a[i][j];
}
a[i][4]=sum;
a[i][5]=a[i][4]/4.0;
sum=0; //初始化
}
for(i=0;i<First;cnt++,i++)
{
printf("学生%d的成绩情况\t\t\t总成绩\t平均成绩\n",cnt);
for(j=0;j<Second;j++)
{
printf("%.2f\t",a[i][j]);
}
printf("\n");
}
}
G. python编程
录入学号和各科成绩以“,”分隔,每行一个学生,输入字母“q”(不区分大小写)退出录入并打印,代码如下:
H. 用python语言 实现从键盘输入若干学生成绩(输入q结束),如果成绩小于0,则重新输入.统计学生人数和平均分
python3.6代码:
cnt=0
sum=0
whileTrue:
print("请输入分数:")
i=input()
if(noti):
continue
if(i=="q"):
break
if(int(i)<0):
print("输入有误!")
continue
cnt=cnt+1
sum=sum+int(i)
print("学生人数:"+str(cnt))
print("平均分:"+str(sum/cnt))
I. Python编程,已知20个成绩存入一个列表中,请对其进行统计,输出四个等级的人数
任意输入4个整数,从大到小排列输出。
main()
{int a,b,c,d,m;
scanf("%d %d %d %d",&a,&b,&c,&d);
if(b>a)
{m=a;a=b;b=m;}
if(d>c)
{m=c;c=d;d=m;}
if(c>a)
{m=a;a=c;c=m;}
if(c>b);
{m=b;b=c;c=m;}printf(" %d %d %d %d ",a,b,c,d)。
(9)python统计学生成绩代码扩展阅读:
Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。
Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。
J. 用python编写程序输入10名学生的成绩,进行优、良、中、及格和不及格的统计
L=[]
y=0#优的人数
q=0#良的人数
z=0#中的人数
j=0#及格的人数
b=0#不及格的人数
foriinrange(10):
c=input("请输入第{}位学生的成绩:".format(i+1),)
L.append(c)
forainL:
ifint(a)>=90:
y+=1
elifint(a)>=80:
q+=1
elifint(a)>=70:
z+=1
elifint(a)>=60:
j+=1
else:
b+=1
print("这十名学生中得优的人数是{}人,得良的人数是{}人,得中的人数是{}人,得及格的人数是{}人,得不及格的人数是{}人".format(y,q,z,j,b))