风云编程python基础语法(1)
未完待续,持续更新中...
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)相关推荐
- 风云编程python基础语法(8)|| 完结
目录 十八.思维课-用编程能力解决实际问题 流程图 产品设计 如何提需求 如何设计解决方案 练习 (1)"不知道吃什么" (2)滚动的广告牌 十九. 目标 阶段1.0:输入固定 ...
- 风云编程python基础语法(3)
目录 九.编程学习的两大瓶颈 1.知识学完就忘 2.缺乏解题能力 练习:九九乘法表 十.函数 1.函数的定义 2.定义和调用函数 3.参数的类型 4.return语句 5.变量作用域 练 ...
- 风云编程python基础语法(5)
目录 十四.角色属性克制 目标 版本1.0:类的封装,打包函数 版本2.0:类的继承和实例化,让三种角色属性不同 版本3.0:为类添加克制关系的类方法 版本4.0:角色类型之间的配合 版本5.0:优化 ...
- 风云编程python基础语法(6)
目录 十五.编码与文件 编码 二进制 编码表 encode和decode 文件读写 读取文件 写入文件 小结 练习 统计成绩 默写古诗 十六.模块 什么是模块 使用自己的模块 import语句 fro ...
- 风云编程python基础语法(7)
目录 十七.发邮件 目标 版本1.0:发一封最简单的邮件 smtplib模块 email模块 代码结构 可能出现的错误 版本2.0:给自己发完整的邮件 丰富邮件头 丰富正文内容 版本3.0:群发一封完 ...
- 风云编程python基础语法(2)
目录 八.人机小游戏 1.明确项目目标 2.分解过程,拆解项目 3.逐步执行,代码实现 1.0 版本+计时器time.sleep(sec) 2.0版本+随机生成random.randint(a,b) ...
- 风变编程python助教_花30天时间,学完了风变编程Python基础语法课
原标题:花30天时间,学完了风变编程Python基础语法课 20节实打实的课程,1个月时间,我终于学完了风变编程的Python基础语法课.刚开始学的时候,就有人问我感受怎么样,当时本着未知全貌不予置评 ...
- 风变python基础语法_风变编程python (基础语法爬虫精进)
温馨提示:本信息由[会员:crm010com]搜集整理发布,版权归原作者及发布者所有,您如有异议请 举报 或者 版权申诉. 风变编程python (基础语法爬虫精进) 第1章介绍在计算机中安装Pyth ...
- 风变编程python课_花30天时间,学完了风变编程Python基础语法课
原标题:花30天时间,学完了风变编程Python基础语法课 20节实打实的课程,1个月时间,我终于学完了风变编程的Python基础语法课.刚开始学的时候,就有人问我感受怎么样,当时本着未知全貌不予置评 ...
最新文章
- 后盾网lavarel视频项目---laravel 使用laracasts/flash插件提示信息
- QT的QDesignerContainerExtension类的使用
- Java连载3-编译与运行阶段详解JRE,JDK,JVM关系
- oracle按用户采集信息,oracle 11g 手动收集用户统计信息
- html gif循环播放,Easy GIF Animator 7设置gif动图循环播放次数的方法
- FFT变换频谱图中幅值的设置方法
- Office 2013中mathtype 6.x的安装方法简介
- jquery插件函数传参错误
- 电信光纤猫虚拟服务器设置方法,电信光纤无线路由器(光猫)的设置方法
- 关于矩阵相乘顺序的理解(跟旋转没关)
- 从客户端(jianjie=psasdasdfas/p)中检测到有潜在危险的 Request.Form 值
- Excel技能之实用技巧,高手私藏
- pygame小项目 ~ 3 :Python完成简易飞机大战
- LabVIEW 调用 BarTender 进行标签打印
- html怎么引用php文件,html页面怎么跟php文件连接
- 极度的坦诚就是无坚不摧
- 《博客园精华集---CLR/C#分册》第三轮筛选结果 转载
- 戴尔笔记本Windows10安装Ubuntu18.04实现双系统总结
- 生存战争2.2联机版游戏介绍
- python文件解压
热门文章
- 为什么手机网速太慢_手机网速慢怎么回事?一分钟就提速两倍的方法
- Linux下文件的压缩、解压缩、打包以及提取
- hotspot解释器和JIT
- 安卓手机端口号怎么查看_安卓手机里的专业模式究竟该怎么拍?
- 既然彼此不能相濡以沫, 那就相忘于江湖吧.
- 使用certbot工具制作免费https证书
- 【数学基础】欧式变换、相似变换、仿射变换、射影变换
- iOS如何完成蓝牙打印机功能
- 西电计算机学院通知,西安电子科技大学计算机科学与技术学院关于发放2020级硕士研究生正式录取通知书的通知...
- 恢复云数据库MySQL的备份文件到自建数据库总结