未完待续,持续更新中...

99**2 = 99^2

一、print()函数

二、数据类型

三、条件判断

四、input()函数

五、列表和字典+元组

列表list

1、格式:roommates=['LY','HZY','CQR','PQJ','ZYL']   #roommates为列表名

注意:(1)元素序号从0开始;

(2)列表中的元素可以是字符串、数字和列表本身(支持镶嵌);

(3)roommates[-2] 指倒数第二个元素,即PQJ

2、提取元素:左右空,取到头;左取右不取。

roommates[0]  'LY'

roommates[:]  全部

roommates[2:]  'CQR','PQJ','ZYL',从序号2到最后

roommates=[:2]  'LY','HZY',从第一个到序号1

3、增加元素:roommates.append('YZN')

append函数后的参数要满足数量为1(单个列表也可视为1个元素)

append添加的元素会在列表的末尾

4、删除元素:del roommates[]  #类提取

字典dict

1、格式:scores={'小明':90, '小红':98, '小刚':90}   # 字典名={'键1':值1, '键2':值2, '键3':值1}

键key具有唯一性,值value则可重复,一组键和值构成一个键值对。

2、取:a=scores['小红']   # a=90

3、删:del 字典名[键]

4、增:字典名[键] = 值

列表和字典的异同

异:列表有序,要用偏移量定位;字典无序,便通过唯一的键来取值。

同:1、如果要修改元素,都可用赋值语句来完成。2、支持任意嵌套。除之前学过的数据类型外,列表可嵌套其他列表和字典,字典也可嵌套其他字典和列表。

# 字典嵌套列表,先找到字典的键对应的列表,再判断列表中要取出元素的偏移量
students = {
'第一组':['小明','小红','小刚','小美'],
'第二组':['小强','小兰','小伟','小芳']
}
print(students['第一组'][3])
#取出'第一组'对应列表偏移量为3的元素,即'小美'#列表嵌套字典,先判断字典是列表的第几个元素,再找出要取出的值相对应的键
scores = [
{'小明':95,'小红':90,'小刚':100,'小美':85},
{'小强':99,'小兰':89,'小伟':93,'小芳':88}
]
print(scores[1]['小强'])
#先定位到列表偏移量为1的元素,即第二个字典,再取出字典里键为'小强'对应的值,即99。

元组tuple

元组和列表都是序列,提取的方式也是偏移量,如 tuple1[1]、tuple1[1:]。

元组也支持任意的嵌套。

合并列表

用append函数 & 用extend函数

list1 = [91, 95, 97, 99]
list2 = [92, 93, 96, 98]
for i in list2:list1.append(i)
print(list1)
list1 = [91, 95, 97, 99]
list2 = [92, 93, 96, 98]
# 把 A 组成绩赋值给一个新列表,用来存合并的成绩——这个细节要注意!
list3 =list1
list3.extend(list2)
print(list3)

列表排序

list3.sort()

练习:计算平均分,以及把低于平均分的成绩也打印出来。

使用数学知识 average = sum/len(score)

scores=[91, 95, 97, 99, 92, 93, 96, 98]
sum=0for score in scores:sum = sum + scoreaverage = sum/len(scores)
print('平均成绩是:{}'.format(average))

使用拓展程序库numpy

import numpy as np
scores=[91, 95, 97, 99, 92, 93, 96, 98]
score=[]average=np.mean(scores)
print('平均分为{}'.format(average))for i in scores:if i<average:score.append(i)continue
print('低于平均分的为{}'.format(score))

六、循环

for...in...(一群排队办业务的人)

in表示从“一群排队办业务的人”(字符串、列表、字典等)中依次取值,在循环的过程中,“一群排队办业务的人”会被依次取出,然后走进房间i去办理业务。

for i in [1,2,3,4,5]:print(i)    #依次打印出1 2 3 4 5 ,此过程被称为遍历print('事情全部办完了!现在留在空房间里的人是谁?')print(i)     #会打印出5

i表示元素item,可以为字典、列表和字符串'吴承恩'(会依次打印出吴、承、恩),但不能为整数、浮点数。

for循环(办事流程)

for i in [1,2,3,4,5]: ​

print(i*5)

此处流程很简单,都是print(i*5)。然后在i=1的情况下,执行一遍流程;在i=2的情况下,再执行一遍流程……一直执行到i=5,也就把这群人的事情全部办完了。

range()函数

使用range(x)函数,可以生成一个从0到x-1的整数序列。

使用range(a,b) 函数,可以生成了一个取头不取尾的整数序列。

使用range(a,b,c)函数,可以生成从a到b(取头不取尾),数的间隔为c的整数序列,c不填时默认间隔为1。

while循环

“在一定的条件下放行,然后按照流程办事”

for和while的异同

循环的工作量是否确定

工作量确定的时候,我们就可以让for循环来完成重复性工作;

工作量不确定时,可以让while循环来工作。

练习(pop函数)

小明、小红、小刚是同班同学,且坐在同一排,分别坐在第一位、第二位、第三位。由于他们的身高都差不多,所以,老师计划让他们三个轮流坐在第一位。每次换座位的时候,第一位变第三位,后面两位都往前一位。

w1用for循环实现:

students = ['小明','小红','小刚']
for i in range(3):student1 = students[0]students = students[1:]students.append(student1)print(students)

w2用pop()函数实验

列表名.pop():移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。(移除:取到元素+删除列表中的元素)

students = ['小明','小红','小刚']
for i in range(3):student1=students.pop(0)students.append(student1)print(students)

七、布尔值+新语句

布尔运算与布尔值

1、计算机用数据做判断的过程

用数值做逻辑判断的过程叫做布尔运算,布尔运算会产生布尔值。布尔值分为TURE和FALSE,它门像开关一样决定if语句和while循环语句是否运行。

2、布尔运算的三种方式

1)两个数值作比较

比较运算符:等于==,不等于!=,大于>,小于<,大于等于>=,小于等于<=

2)直接用数值做运算

python中的真假判断:(左假右真)

False True

0 任意整数或浮点数

‘’(空字符串) ‘编程’

[] [1,2,3]

{} {1:'春风',2:'秋风'}

None

可以使用bool()函数来查看一个数据会被判断为真True还是假False。

3)布尔值之间的运算。

and、or、not

in、not in :列表中是否存在某个元素、字典中是否存在某个【键】

break、continue、pass、else语句

break:从循环内跳出(必须和if语句连用)

while True:    print('上供一对童男童女')t = input('孙悟空来了吗')if t == '来了':break
print('孙悟空制服了鲤鱼精,陈家庄再也不用上供童男童女了')

continue:将跳过之后的代码,直接回到循环的开始(必须和if语句连用)

for i in range(5):print('明日复明日')if i==3:  # 当i等于3的时候触发continue # 回到循环开头print('这句话在i等于3的时候打印不出来')#result
明日复明日
这句话在i等于3的时候打印不出来
明日复明日
这句话在i等于3的时候打印不出来
明日复明日
这句话在i等于3的时候打印不出来
明日复明日
明日复明日
这句话在i等于3的时候打印不出来

pass:什么都不做(常用在if语句下)

a = int(input('请输入一个整数:'))
if a>100:pass
else:print('你输入了一个小于100的数字')

else:用在循环语句后,如果正常结束循环,就执行else语句(没有遇到break)

i = 0
while i<5: a = int(input('请输入0结束循环,你有5次机会:'))i = i+1if a == 0:print('你触发了break语句,导致else语句不会生效。')    break
else:print('5次循环你都错过了,else语句生效了。')

练习

1)下面,会将电影的影片名和主演放在字典里,需要你补充一些代码,让其他人只要输入演员名,就打印出:××出演了电影××。

movies = {
'妖猫传':['黄轩','染谷将太'],
'无问西东':['章子怡','王力宏','祖峰'],
'超时空同居':['雷佳音','佟丽娅'],
}actor=input('你想查询哪个演员?')
for movie in movies:actors=movies[movie]if actor in actors:print(actor+'出演了'+movie)

2)“囚徒困境”+社会实验

让程序收集两名囚犯的认罪情况,进而决定他们的判决:
两人都认罪,则各判10年;一个认罪一个抵赖,则前者判1年,后者判20年;两人都抵赖,各判3年。只有两人都不认罪,程序才会停止。
现在有一个社会学家,在不同的人群中做这个实验,一旦遇到都不认罪的情况,就停止该人群中的实验。同时,他希望程序能记录每一对实验者的选择,以及记录第几对实验者都选择不认罪。请你帮帮他吧。

n=0
list_answer=[]
while True:n+=1a=input('A,你认罪吗?请回答认罪或者不认罪')b=input('B,你认罪吗?请回答认罪或者不认罪')list_answer.append([a,b])if a=='认罪' and b=='认罪':print('A和B各判10年')elif a=='认罪' and b=='不认罪':print('A判1年,B判20年')elif b=='认罪' and a=='不认罪':print('B判1年,A判20年')else:print('A和B各判3年')break
print('第'+str(n)+'对实验者选择了最优解')
for i in range(n):print('第'+str(i+1)+'对实验者的选择是'+str(list_answer[i]))

风云编程python基础语法(1)相关推荐

  1. 风云编程python基础语法(8)|| 完结

    目录 十八.思维课-用编程能力解决实际问题 流程图​ 产品设计 如何提需求 如何设计解决方案 练习 (1)"不知道吃什么" (2)滚动的广告牌 十九. 目标 ​阶段1.0:输入固定 ...

  2. 风云编程python基础语法(3)

    目录​​​​​​​ 九.编程学习的两大瓶颈 1.知识学完就忘 2.缺乏解题能力 练习:九九乘法表 十.函数 1.函数的定义 2.定义和调用函数 3.参数的类型 4.return语句 5.变量作用域 练 ...

  3. 风云编程python基础语法(5)

    目录 十四.角色属性克制 目标 版本1.0:类的封装,打包函数 版本2.0:类的继承和实例化,让三种角色属性不同 版本3.0:为类添加克制关系的类方法 版本4.0:角色类型之间的配合 版本5.0:优化 ...

  4. 风云编程python基础语法(6)

    目录 十五.编码与文件 编码 二进制 编码表 encode和decode 文件读写 读取文件 写入文件 小结 练习 统计成绩 默写古诗 十六.模块 什么是模块 使用自己的模块 import语句 fro ...

  5. 风云编程python基础语法(7)

    目录 十七.发邮件 目标 版本1.0:发一封最简单的邮件 smtplib模块 email模块 代码结构 可能出现的错误 版本2.0:给自己发完整的邮件 丰富邮件头 丰富正文内容 版本3.0:群发一封完 ...

  6. 风云编程python基础语法(2)

    目录 八.人机小游戏 1.明确项目目标 2.分解过程,拆解项目 3.逐步执行,代码实现 1.0 版本+计时器time.sleep(sec) 2.0版本+随机生成random.randint(a,b) ...

  7. 风变编程python助教_花30天时间,学完了风变编程Python基础语法课

    原标题:花30天时间,学完了风变编程Python基础语法课 20节实打实的课程,1个月时间,我终于学完了风变编程的Python基础语法课.刚开始学的时候,就有人问我感受怎么样,当时本着未知全貌不予置评 ...

  8. 风变python基础语法_风变编程python (基础语法爬虫精进)

    温馨提示:本信息由[会员:crm010com]搜集整理发布,版权归原作者及发布者所有,您如有异议请 举报 或者 版权申诉. 风变编程python (基础语法爬虫精进) 第1章介绍在计算机中安装Pyth ...

  9. 风变编程python课_花30天时间,学完了风变编程Python基础语法课

    原标题:花30天时间,学完了风变编程Python基础语法课 20节实打实的课程,1个月时间,我终于学完了风变编程的Python基础语法课.刚开始学的时候,就有人问我感受怎么样,当时本着未知全貌不予置评 ...

最新文章

  1. 后盾网lavarel视频项目---laravel 使用laracasts/flash插件提示信息
  2. QT的QDesignerContainerExtension类的使用
  3. Java连载3-编译与运行阶段详解JRE,JDK,JVM关系
  4. oracle按用户采集信息,oracle 11g 手动收集用户统计信息
  5. html gif循环播放,Easy GIF Animator 7设置gif动图循环播放次数的方法
  6. FFT变换频谱图中幅值的设置方法
  7. Office 2013中mathtype 6.x的安装方法简介
  8. jquery插件函数传参错误
  9. 电信光纤猫虚拟服务器设置方法,电信光纤无线路由器(光猫)的设置方法
  10. 关于矩阵相乘顺序的理解(跟旋转没关)
  11. 从客户端(jianjie=psasdasdfas/p)中检测到有潜在危险的 Request.Form 值
  12. Excel技能之实用技巧,高手私藏
  13. pygame小项目 ~ 3 :Python完成简易飞机大战
  14. LabVIEW 调用 BarTender 进行标签打印
  15. html怎么引用php文件,html页面怎么跟php文件连接
  16. 极度的坦诚就是无坚不摧
  17. 《博客园精华集---CLR/C#分册》第三轮筛选结果 转载
  18. 戴尔笔记本Windows10安装Ubuntu18.04实现双系统总结
  19. 生存战争2.2联机版游戏介绍
  20. python文件解压

热门文章

  1. 为什么手机网速太慢_手机网速慢怎么回事?一分钟就提速两倍的方法
  2. Linux下文件的压缩、解压缩、打包以及提取
  3. hotspot解释器和JIT
  4. 安卓手机端口号怎么查看_安卓手机里的专业模式究竟该怎么拍?
  5. 既然彼此不能相濡以沫, 那就相忘于江湖吧.
  6. 使用certbot工具制作免费https证书
  7. 【数学基础】欧式变换、相似变换、仿射变换、射影变换
  8. iOS如何完成蓝牙打印机功能
  9. 西电计算机学院通知,西安电子科技大学计算机科学与技术学院关于发放2020级硕士研究生正式录取通知书的通知...
  10. 恢复云数据库MySQL的备份文件到自建数据库总结