『壹』 用python怎麼寫出輸入語文和數學成績,求出其總分和平均數
摘要 1.輸入學生學號:
『貳』 用Python編寫學生成績分析系統
學生的數量我們並不知道有多少,有可能是1個學生,但也有可能是100000個學生
但是我們能確定的是學生的學號,因為每個學生的學號都是不一樣的(除非出現意外情況)
那麼我們可以以學生的學號來排序,比如000是小明,那麼我們把000放在list的第一位,把小明這個人的名字放在學生名的list的第一位,那麼他的所有的成績分數什麼的都會在每個list的第一位
現在我們可以開始做第一步,尋找學生。 尋找學生我們需要一個parameter,一般來說會給學號或者是名字,那麼我們可以用linear search從list的頭開始尋找到尾。如果沒有到達list的尾部而且還尋找到了學生,那麼return 他在這個list的位置,如果到達了list的底部,return一個message告訴對方系統里沒有這個學生
計算學生總成績:我們已經知道了這個學生名字或者學號在各個list的位置了,那麼這個學生所對應的成績分數都在各個list的相同的位置,那麼我們只用上個方法return的數字去尋找各個考試的分數,然後根據百分比相乘後加起來,這就是這個學生的總成績
排名:這個要根據什麼來排,如果你是根據總成績來排的話,你需要去比較所有的分數。這個就需要sorting search,至於方法有很多,應該有六種,具體的我記不清楚,不過你可以去網上找找
用字母代表成績:這個也很簡單,既然你都知道分數了,那麼就設置一個區域,比如90-100是優秀,那麼把所有在90-100的分數全部變成A然後存入list裡面就行了(記得要按照順序!!)
班級平均分:emmmm這個是咋算來著的。。。。應該是把所有學生在某一次作業或者考試的成績全部加起來後除以全部人數吧。。那麼你自己按照一個順序,把所有的分數加起來除以所有的人數後再存入list裡面就行了
『叄』 用python求學生平均成績
是什麼平均成績呢?是一門課程所有學生的平均成績,還是一個學生所有課程的平均成績呢
『肆』 用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()
『伍』 用python輸入一個百分制考試成績,判斷是否及格並輸出結果
/*求編程:輸入學生成績,判斷該成績的等級;............by Mr.Kong*/
#include<stdio.h>
main()
{
int score,a;
printf("請輸入學生的成績:");
do
{
scanf("%d",&score);
}
while(score<0||score>100); /*學生的成績在0至100之間*/
a=score/10;
switch(a)
{
case 10:
case 9:
printf("優秀"); /*成績大於90分為優秀*/
break;
case 8:
case 7:
printf("中等"); /*成績在70至80分之間為中等*/
break;
case 6:
printf("及格"); /*成績在60至70分之間為及格*/
break;
default :
printf("不及格"); /*成績在低於60分為不及格*/
break;
}
}
『陸』 用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))
『柒』 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("未輸入學生的成績")
『捌』 如何用python編程做一個迷你成績查詢器
python的cmd模塊為命令行應用提供了強大的支持:
#!/usr/bin/envpython
#coding:utf-8
fromcmdimportCmd
classDegree(Cmd):
STUDENTS={}
defdo_enter(self,cmdln):
"""Enterastudent';"""
ln=cmdlnorraw_input("EnterStudent'snameanddegree:")
student,degree=ln.split("")
self.STUDENTS[student]=int(degree)
defdo_delete(self,cmdln):
"""Enterastudent'snamefordelete;"""
student=cmdlnorraw_input("EnterStudent'snamefordelete:")
ifstudentinself.STUDENTS:
delself.STUDENTS[student]
defdo_list(self,cmdln):
"""ListStudentsName-Degree;"""
forstudent,degreeinsorted(self.STUDENTS.items()):
printstudent,degree
defdo_compute(self,cmdln):
"""Computedegrees'averangedata;"""
avg=sum(self.STUDENTS.values())/len(self.STUDENTS)
print"Avg:{avg}".format(avg=avg)
defdo_quit(self,cmdln):
"""Leavethsapplication."""
return1
if__name__=="__main__":
degreemgr=Degree()
degreemgr.cmdloop()
"""
help
tim@crunchbangtime:~/workspace/$pythonqa_cmd.py
(Cmd)?
Documentedcommands(typehelp<topic>):
========================================
(Cmd)?enter
Enterastudent';
(Cmd)helplist
ListStudentsName-Degree;
(Cmd)
(Cmd)enterTim93
(Cmd)enterBruce38
(Cmd)enter
EnterStudent'snameanddegree:Bruce88
(Cmd)enterHans89
(Cmd)enterBill94
(Cmd)
(Cmd)list
Bill94
Bruce88
Hans89
Tim93
(Cmd)deleteBill
(Cmd)list
Bruce88
Hans89
Tim93
(Cmd)compute
Avg:90
(Cmd)quit
tim@crunchbangtime:~/workspace/$
"""
『玖』 怎麼用python完成成績查詢
d={"Mike":98,"Michale":76,"Thomas":78,"Jane":86}
marks=int(d[raw_input("Typethename:")])
print(marks)
這樣就可以了
『拾』 python3計算每個學生的總成績
數量少的話可以用列表循環來實現
數量多的話就要用pandas來實現了