導航:首頁 > 編程語言 > 學生成績輸入和排序python

學生成績輸入和排序python

發布時間:2023-08-30 10:47:22

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')

Ⅱ 定義一個學生類,包含學號、姓名、平時成績和考核成績四個數據成員和以下成員方法(用Python語言):

花了不少時間寫的,挺詳細的,希望採納。


#引入operator模塊,用於給集合排序
importoperator


#單行注釋用"#",多行注釋用'''注釋內容'''
#定義一個學生類,類名用駝峰命名法
classStudent:

#構造方法,可用來創建對象格式def__init__(self,參數)參數個數自已定義,類型系統自動識別
def__init__(self,stu_no,name,base_score,exam_score):
self.stu_no=stu_no#對象屬性賦值
self.name=name
self.base_score=base_score
self.exam_score=exam_score

#定義計算總評函數定義函數格式def函數名(self,參數),self代表本對象
defget_last_score(self):
#return指定返回值,無return表示此函數無返回值
returnself.base_score*0.3+self.exam_score*0.7

#類似toString方法,列印對象時,調用對象的該方法
def__str__(self):
return'學號:'+self.stu_no+'姓名:'+self.name+",平時成績:"+str(self.base_score)+",考核成績:"+str(self.exam_score)


#定義函數,將對象集合寫到文件,上面三個函數有縮進,屬於Student類的函數,本函數屬於全局函數
defprint_to_file(path,stu_arr):
#打開文件,操作完成後自動關閉文件
withopen(path,'w')asfile:
#調用operator給集合排序
sort_attr=operator.attrgetter('stu_no')#指定排序屬性
stu_arr.sort(key=sort_attr)#排序
forstuinstu_list:
str=stu.__str__()#將對象轉換為字元串
file.write(str+' ')#將字元串寫入文件


#主函數,運行的入口
if__name__=='__main__':
#創建幾個學生對象,按__init__的順序輸入參數
s1=Student('1001','zhangsan',31,69)
s2=Student('1003','wangwu',28,32)
s3=Student('1004','zhaoliu',77,78)
s4=Student('1002','lisi',19,89)
#創建集合
stu_list=[s1,s2,s3,s4]

#文件路徑
f='d:\aaa.txt'
print_to_file(f,stu_list)

Ⅲ 如何用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編程中的列表元素按成績高低進行排序呢

最簡單的辦法就是需要指定列表排序方法中的參數「key」。代碼如下:
第一種:
stu=[['john',79],['mame',96],['herry',85],['lili',95],['ziling',63]]
def takeSecond(elem):
return elem[1]
stu.sort(key=takeSecond,,reverse=True)
print(stu)
第二種:
stu=[['john',79],['mame',96],['herry',85],['lili',95],['ziling',63]]
s=sorted(stu,key=lambda student: student[1],,reverse=True)
print(s)

閱讀全文

與學生成績輸入和排序python相關的資料

熱點內容
演算法戰書籍 瀏覽:575
卸載網路伺服器是什麼意思 瀏覽:123
菜鳥app的收貨地址在哪裡 瀏覽:488
伺服器配什麼顯卡 瀏覽:369
動態壁紙不動了是怎麼回事安卓 瀏覽:412
申萬宏源app哪裡看總盈利 瀏覽:133
單片機測電感電容 瀏覽:165
android在子線程中更新ui 瀏覽:694
演算法分析師面試有什麼要求 瀏覽:994
容器演算法大全圖解 瀏覽:69
cad後置命令失效 瀏覽:692
殺手阻擊存檔文件夾是哪一個 瀏覽:212
禁書pdf 瀏覽:920
沒用app語音智能提醒怎麼設置 瀏覽:502
linuxwiki安裝 瀏覽:680
隔牆演算法 瀏覽:174
安卓手機為什麼app不通知 瀏覽:550
申請雲伺服器購買費用 瀏覽:115
雲伺服器鏡像下載到本地 瀏覽:4
電腦文件夾名有橫杠 瀏覽:154