一.用List创建自己的期末成绩并排序。
代码如下:
list_name = ['计算机组成原理','概率论','嵌入式','工程概论','体育','电路板设计','马原','思政实践','形势与政策','计组实验','嵌入式实验']
list_score = [75,90,83,84,89,86,82,89,92,100,85]
list_credit = [3.5,3,2.5,2,1,2,3,2,0.5,1,1]
length = len(list_score)
#print(length)=11
for j in range(0,length-1): #冒泡排序
for i in range(0,length-1-j):
if list_score[i]>list_score[i+1]:
list_score[i],list_score[i+1]=list_score[i+1],list_score[i]
list_name[i],list_name[i+1]=list_name[i+1],list_name[i]
list_credit[i],list_credit[i+1]=list_credit[i+1],list_credit[i]
for p in range(0,length):
print("课程名称:%s"%list_name[p],end="")
if len(list_name[p])*2<16:
for q in range(len(list_name[p])*2,15):
print(" ",end="")
print("%d %.1f"%(list_score[p],list_credit[p])) #格式对齐,输出一位小数
sum = 0
for s in range(0,length):
sum = sum+list_score[s]
#print(sum)=955
print("")
print("均值 = %.2f"%(sum/length))
temp = 0
for t in range(0,length):
temp = temp+(list_score[t]-sum/length)*(list_score[t]-sum/length)
print("方差 = %.2f"%(temp/length))
temp1 = 0
temp2 = 0
for e in range(0,length):
temp1 = temp1+list_score[e]*list_credit[e]
temp2 = temp2+list_credit[e]
print("根据学分重新计算后,平均成绩=%.2f"%(temp1/temp2))
结果如下:
课程名称:计算机组成原理 75 3.5
课程名称:马原 82 3.0
课程名称:嵌入式 83 2.5
课程名称:工程概论 84 2.0
课程名称:嵌入式实验 85 1.0
课程名称:电路板设计 86 2.0
课程名称:体育 89 1.0
课程名称:思政实践 89 2.0
课程名称:概率论 90 3.0
课程名称:形势与政策 92 0.5
课程名称:计组实验 100 1.0
均值 = 86.82
方差 = 37.24
根据学分重新计算后,平均成绩=84.84
1.创建一个列表:
需要一个方括号[ ]括起来,字符串需要" "或' ',数字直接用“,”分隔开。
参考代码前三行的创建,创建了三个列表,分别是课程名字,分数,以及学分。
2.len()函数:
返回对象的长度参数可以是序列(字符串str、元组tuple、列表list)或集合(字典dict、集合set或冻结集合frozenset)。参考第四句代码。
3.for循环语句:
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
格式如下:
for iterating_var in sequence:
statements(s)
直接循环:
#举例代码1
for subject in 'CAD':
print("name :%s"% subject)
输出结果1:
name :C
name :A
name :D
#举例代码2
subject = ['CAD','QIANRUSHI']
for s in subject:
print("name :%s"% s)
输出结果2:
name :CAD
name :QIANRUSHI
索引循环:
举例代码3
subject = ['2','2','1','2',2,2,1]
for i in range(0,5):
print(subject[i])
输出结果3
2
2
1
2
2
4.if 语句(逻辑运算符)
and (与)(两者都为True才为True)
or (或)一个为True就为True
not (非)取反
5.排序算法
代码中第一个for循环是冒泡排序。实现从小到大排序。