Python list tuple dict 应用举例及分析

一.用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循环是冒泡排序。实现从小到大排序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝本生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值