Python学习Day2
一、判断语句
1.布尔类型 比较运算符
2.if 要判断的条件:
要做的事情
elif 要判断的条件:
要做的事情
else:
要做的事情
3.不需要大括号,缩进的全部相当于在大括号内
4.多层嵌套
5.随机数
import random
num=random.randint(1,10)
"""
今天是学python的第二天
判断语句、循环语句、简单的函数
"""
# 游乐园买票
print("欢迎来到万佳游乐园,请输入您的个人信息")
yesno=int(input("请出示您的健康码:"))
if yesno==1:
id=int(input("请输入您的身份证号:"))#410184200304215015
now=2023
year=(id//100000000)%10000
old=now-year
if old<18:
print("未满18周岁,免费参观")
elif old>60:
print("老年人免费参观")
else:
print(f"您已{old}岁,请前往购票大厅购票,票价为50元")
print("祝您游玩愉快")
elif yesno==0:
print("健康码不符合要求,请择日参观")
else:
print("健康码输入不符合要求,请重新输入")
运行结果
欢迎来到万佳游乐园,请输入您的个人信息
请出示您的健康码:1
请输入您的身份证号:410184200304215015
您已20岁,请前往购票大厅购票,票价为50元
祝您游玩愉快
进程已结束,退出代码0
二、循环语句
1.while 条件:
需要做的事1
需要做的事2
2.再写print即换行,若不想换行print(”hello”,end=’ ’)
3.制表符 \t 相当于按下tab键 多行字符串的对齐
4.for 临时变量 in 待处理数据集:
执行的代码
5.range(5) [0,1,2,3,4] 控制for循环次数
range(num1,num2) 从num1到num2,不含num2
range(num1,num2,step) 从num1到num2,不含num2,按步长
6.continue中断本次循环,直接进入下一次
break循环结束
# 猜猜心理数
print("猜一个1到100中间的数")
import random
num=random.randint(1,100)
flag=1
count=0
while flag:
x=int(input("请输入:"))
if x==num:
print("恭喜你,答对了")
flag=0
elif x>num:
print("稍微大了一点")
else:
print("稍微小了一点")
count+=1
print(f"只花费了{count}次就猜出来了,你真棒(๑•̀ㅂ•́)و✧")
运行结果
D:\\anaconda\\envs\\pytorch\\python.exe D:/pythonProject/main.py
猜一个1到100中间的数
请输入:50
稍微小了一点
请输入:75
稍微大了一点
请输入:65
稍微小了一点
请输入:70
稍微小了一点
请输入:72
稍微小了一点
请输入:73
恭喜你,答对了
只花费了6次就猜出来了,你真棒(๑•̀ㅂ•́)و✧
# 打印九九乘法表
print("九九乘法表")
for x in range(1,10):
for y in range(1,x+1):
print(f"{x}*{y}={x*y}\\t",end='')
print("")
运行结果
九九乘法表
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
进程已结束,退出代码0
三、函数
-
减少重复性 优雅
-
定义 def 函数名(传入参数):
函数体 return 返回值
-
使用 函数名() or 变量=函数名(参数)
4.None 空返回值,可用于if条件判断
5.函数说明文档 param x 对形参x的说明 对返回值的说明 “”“ ”“”
6.函数的嵌套调用 A嵌套B 调用B时把B执行完后继续执行A剩余内容
7.变量的作用域 局部变量 全局变量 global关键字,函数内定义的变量定义为全局变量
四、数据容器
1.列表【】定义 变量名称=[元素1, 元素2,元素3,元素4,元素5] 变量名称=[] 变量名称=list()
2.可以存不同类型,也可以嵌套
3.下表索引 编号 0 1 2 3 4 …… -1 last one -2 -3 -4 …… 嵌套列表好像二维数组 list[][]
4.常用操作 (方法,就是class类)
查询下标: 列表.index(元素)
修改元素:列表[下标]=值
插入: 列表.insert(下标,元素)
追加元素:列表.append(元素) 列表.extend([新的列表])
删除元素: del 列表[下标] 列表.pop(下标) 列表.remove(元素)
清空列表:列表.clear()
统计某元素数量:列表.count(元素)
统计列表元素数量:len(列表)
# list常用操作
list1=["a","b","c"]
x=list1.index("c")
print(x)
list1[2]="xu"
print(list1)
list1.insert(2,"c")
print(list1)
list1.append("d")
print(list1)
list1.extend([1,2,3])
print(list1)
del list1[7]
print(list1)
element=list1.pop(6)
print(list1,element)
list1.remove(1)
print(list1)
count=list1.count("a")
print(count)
num=len(list1)
print(num)
list1.clear()
print(list1)
运行结果
D:\\anaconda\\envs\\pytorch\\python.exe D:/pythonProject/main.py
2
['a', 'b', 'xu']
['a', 'b', 'c', 'xu']
['a', 'b', 'c', 'xu', 'd']
['a', 'b', 'c', 'xu', 'd', 1, 2, 3]
['a', 'b', 'c', 'xu', 'd', 1, 2]
['a', 'b', 'c', 'xu', 'd', 1] 2
['a', 'b', 'c', 'xu', 'd']
1
5
[]
进程已结束,退出代码0
5.列表遍历 for更easy但不可以自定义循环条件
6.元组 tuple () 一旦定义完成,就不可以修改元素 变量名称=(元素1,元素2,……)
7.字符串 str ,也是一种容器, “ ” 不可以修改 replace替换部分内容 split分隔符字符串 strip去头尾
8.容器序列切片 序列[起始下标:结束下标:步长 ] 不含结束下标对应元素
9.集合 set 不支持元素的重复,但乱序 { } difference union
10.字典 通过某东西找到关联东西 key到value 不允许Key重复
定义 my_dict= {key:value , key:value, ……}
查找 print(my_dict[key1]) 字典名加中括号
字典可以嵌套:记录学生各科的考试信息 my_dict[key1][key1.1]
修改、新增 字典名[key]=value
删除 字典名.pop(key) 清空:字典名.clear()
获取所有的Key 字典名.keys()
遍历 for key in keys: for key in 字典名: 不可以用while循环
11.max(容器名) min(容器名)
list() 转化为列表 tuple() 转化为元组 str() 转化为字符串 set() 转换为集合
sorted(容器,【reverse=True】)
- 字符串大小比较方式 ascll码 一位一位比较