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