㈠ 編寫程序,實現讀取學生的學號和英語成績信息,並輸出
以下是用 python 語言編寫的程序,實現讀取學生的學號和英語成績信息,並輸出的功能:
# 定義學生信息類
class Student:
def __init__(self, id, name, score):
self.id = id
self.name = name
self.score = score
# 定義讀取學生信息的函數
def read_student_info():
student_list = []
while True:
id = input("請輸入學號:")
if id == "":
break
name = input("請輸入姓名:")
score = input("請輸入英語成績:")
student_list.append(Student(id, name, score))
return student_list
# 定義伍好輸出學生信息的函數
def print_student_info(student_list):
for student in student_list:
print("學號:" + student.id + " 姓名:" + student.name + " 英語成績:" + student.score)
# 主函數
def main():
student_list = read_student_info()
print_student_info(student_list)
# 調用主函數
main()
在神橘指運行這段程序之後,游配程序會提示用戶輸入學號、姓名和英語成績,用戶可以連續輸入多個學生的信息。輸入空學號時,程序會停止讀取學生信息,並輸出所有學生的學號、姓名和英語成績。
㈡ 如何用python的字典和列表來實現學生成績管理
下面是一個使用 Python 的字典和列表來實現學生成績管理的簡單例子。此例子實現了所有要求,但沒有使用定義學生結構體類型和數組:
# 定義學生數據字典
students = []
# 定義輸入函數
def input_student():
while True:
student = {}
student['id'] = input('學號: ')
student['class'] = input('班級: ')
student['name'] = input('姓名: ')
student['scores'] = []
for i in range(3):
score = input('第%d門課程成績: ' % (i + 1))
student['scores'].append(score)
students.append(student)
if input('是否穗讓瞎繼續輸入(y/n): ') != 'y':
break
# 定義求平均分函數
def average_score():
for student in students:
total = 0
for score in student['scores']:
total += score
student['average'] = total / len(student['scores'])
# 定義求最高平均分函數
def max_average():
max_student = None
max_average = 0
for student in students:
if student['average'] > max_average:
max_student = student
max_average = student['average']
return max_student
# 調用輸入函數
input_student()
# 調用求平均分函數
average_score()
# 輸出每個學生的3門課程平均分
for student in students:
print('學號: %s, 班級: %s, 姓名: %s, 平均分: %.2f' % (student['id'], student['class'], student['name'], student['average']))
# 調用求最高平均分函數
max_student = max_average()
# 輸出最高平均分的學生信息
if max_student:
print(' 平均分猜空最高的學生: 學號: %s, 班級: %s, 姓名: %s, 3門課程成績: %s, 平均分: %.2f' % (max_student['id'], max_student['class'], max_student['name'], max_student['scores'], max_student['average']))
在上面的例子中,我們定義了一個學生數據字典,用於存儲學生信息。然後定義了三個函數,分別用於輸入學生信息滑爛、求每個學生3門課程的平均分和求平均分最高的學生。最後,在主函數中調用這三個函數,並輸出結果。
㈢ 用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輸入一個百分制考試成績,判斷是否及格並輸出結果
/*求編程:輸入學生成績,判斷該成績的等級;............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字典將姓名、學科、成績分別對應,並且計算誰總分最高
test = {
"小明": {"math": 85, "english": 96, "chinese": 88},
"小紅": {"math": 72, "english": 80, "chinese": 91},
"小亮": {"math": 83, "english": 69, "chinese": 75},
}
score_max={"name":"","score":0}
for k,v in test.items():
####if sum(v.values())>score_max["score"]:
#########score_max["name"]=k
#########score_max["score"]=sum(v.values())
print(f"得分最高的是{score_max['name']},分數為:{score_max['score']}")
㈥ python循環輸入若干個同學的成績,求出這些同學的成績平均值、最小值和最大值
最大值和最小值可以用max(),min()
#include <iostream>
using namespace std;
int main()
{
int score[] = {78, 86, 90, 83, 74, 68, 74, 80, 69, 79, 89, 93};
int n = 12;
int min, max;
double avg;
int i;
min = max = score[0];
avg = 0;
for(i=0; i<n; i++)
avg += score[i];
if(score[i] > max)
{
max = score[i];
if(score[i] < min)
min = score[i];
}
}
avg /= n;
cout<團帶<"平均值:"<<avg<<endl;
cout<<"最大值:"<<max<<endl;
cout<<"最小值:"<<min<<endl;
return 0;
}
(6)用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。
這里的高級並不是通常意義上的高級,不是說Python的Virtual Machine比Java或.NET的功能更強大,而是說和Java 或.NET相比,Python的Virtual Machine距離真實機器的距離更遠。或者可以這么說,Python的Virtual Machine是一種抽象層次更高的Virtual Machine。
㈦ python計算學生成績的平均值
依次輸入學生的三門科目成績:
3.計算該學生的平均成績,並列印:
4.平均成績保留兩位小數點:
計算該學生語文成績占總成績的百分比,並列印。
㈧ python輸入成績判斷成績等級
n = int(input('請輸入學生分數:')) #使用input()函數,輸入一個數字給n
if n >= 90: #使用if語句判斷成績等級
print('A')
elif 80 <= n < 90:
print('B')
elif 70 <= n < 80:
print('C')
elif 60 <= n < 70:
print('D')
else:
print('E')
方法二:
n = int(input('請輸入學生分數:')) #使用input()函數,輸入一個數字給n
if n >= 70: #把0-100的分老納數以70為界,分為兩個段,再從兩個段中分別使用嵌套的if語句判斷成績等級
者含芹if n >= 90:
print('A')
elif 80 <= n < 90:
print('B')
elif 70 <= n < 80:
print('C')
else: #判斷小於70的分數段的成績等級
if 60 <= n < 70:
print('D')
else:
首畢print('E')
㈨ python3計算每個學生的總成績
數量少的話可以用列表循環來實現
數量多的話就要用pandas來實現了
㈩ 用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))