判断语句 条件分支结构
缩进 4个空格 或者一个table键 不可以混用 来表示层级关系,为了代码的美观性与可易读性
if 条件后面加: else后面也要加:
数字0 表示false
空字符串
长度为0的字符串"" 也相当于 if False
空列表
长度为0的列表[] 也相当于 if False
None 也表示为false
示例与结果如下
print("0表示false")
if 0:
print("ok")
else:
print("no")
if -0:
print("ok")
else:
print("no")
if 0.0:
print("ok")
else:
print("no")
if 10>5:
print("ok")
else:
print("no")
print("空字符串")
if "":
print("ok")
else:
print("no")
print("空列表")
if []:
print("ok")
else:
print("no")
print("不是空列表")
if [[]]:
print("ok")
else:
print("no")
print("None 表示什么都没有,连外科都没有")
if not None:
print("None----->flase")
else:
print("no")
[root@server1 day02]# python3 demo_if.py
0表示false
no
no
no
ok
空字符串
no
空列表
no
不是空列表
ok
None 表示什么都没有,连外壳都没有
None----->flase
练习1 判断合法用户
user=input("请输入用户名")
passwd=input("请输入密码")
if user=="bob" and passwd=="123456":
print("Login seccessful")
else:
print("Login incorrect")
[root@server1 day02]# python3 demo_user.py
请输入用户名bob
请输入密码123456
Login seccessful
多分支结构
只要满足了某一个条件 匹配即停止 自上向下
cj=int(input("你的成绩是"))
if cj < 0 or cj>100: #先进行合法性判断
print("请输入合法的分数0~100")
elif cj >= 90:
print("优秀")
elif cj >= 80:
print("好")
elif cj >= 70:
print("良")
else:
print("加油")
石头剪刀布游戏导入模块
查看你要导入的random模块下有哪些 这里我们选择choice 这里是支持table键的
[root@server1 day02]# python3
Python 3.6.7 (default, Nov 5 2020, 03:55:09)
[GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import random #import类似与一个大工具箱 random类似于小工具箱
>>> random. #这里按两下table键就会出现 random 下面有不同的工具
random.BPF random.choices( random.random(
random.LOG4 random.expovariate( random.randrange(
random.NV_MAGICCONST random.gammavariate( random.sample(
random.RECIP_BPF random.gauss( random.seed(
random.Random( random.getrandbits( random.setstate(
random.SG_MAGICCONST random.getstate( random.shuffle(
random.SystemRandom( random.lognormvariate( random.triangular(
random.TWOPI random.normalvariate( random.uniform(
random.betavariate( random.paretovariate( random.vonmisesvariate(
random.choice( random.randint( random.weibullvariate(
>>> random.choice(["石头","剪刀","布"])
'剪刀'
>>> random.choice(["石头","剪刀","布"])
'布'
>>> random.choice(["石头","剪刀","布"])
'石头'
import random
#玩家获胜的情况有
win_list=[["st","jd"],["jd","bu"],["bu","st"]]#玩家赢得情况
compute=random.choice(["st","jd","bu"])
player=input("请输入st/jd/bu:")
if player == compute:
print("平局")
elif [player,compute] in win_list:#这种情况在不在赢的情况里面
print("player~win")
else:
print("compute~win")
[root@server1 day02]# python3 demo_stjdb.py
请输入st/jd/bu:st
平局
循环结构
while 100的累加 continue 与 break
counter = 1
sum100 = 0
while counter <= 100:
sum100 += counter
counter += 1 #python 里面是没有++的
print("100累加为:",sum100)#结果为5050
num = 1
he = 0
while num <= 100:
if num == 2:
num += 1
continue
he += num
num += 1
print("he:",he)#结果为5048
num = 1
he = 0
while num <= 100:
if num == 2:
break
he += num
num += 1
print("he:",he)# 结果为1
continue 跳过本次循环
break 终止当前循环执行循环外的语句
python 中的 while 语句也支持 else 子句
else 子句只在循环完成后执行
break 语句也会跳过 else 块
number = 1
while number <= 5:
if number == 2:
break
print(number)
number += 1
else:
print("else ok")
#执行结果为1 也说明了break 也会跳过else块
猜数字1-100
#系统随机生成100以内的整数random.randint(1,100)
#最多猜5次 猜对了结束程序
#如果都猜错 则输出正确结果
import random
print("这是一个猜数字游戏1-100")
shu=random.randint(1,100)
print("我是一个外挂,可以看到正确答案hahahaha:",shu)
cs=5#计数器
while cs > 0:
num=int(input("请输入你要猜的数字:"))
if num == shu:
print("ok")
break
elif num > shu:
print("big")
elif num < shu:
print("small")
cs -= 1
else:
print("正确答案是:",shu)
python中的循环 while for
while用于未知次数的循环
for用于已知次数的循环
for循环
listl=["12","345","56"]
for i in listl:
print(i)
遍历
可迭代对象就是能与for循环进行连用的
我们学过的可迭代对象有 字符串,列表,元组,集合,字典,range(),并且能被 for 循环的都是可迭代对象
for i in "hello world":
print(i)
#结果就是把每一个字符去输出
range
range 就是一个半闭半开区间(左闭右开)
>>> a=range(1,10)
>>> list(a)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> b=range(5)
>>> list(b)
[0, 1, 2, 3, 4]
>>> c=range(1,10,2)#步长
>>> list(c)
[1, 3, 5, 7, 9]
range控制循环的次数
for i in range(5):
print("hekki")
斐波那契数列 (从第三个数开始是前两个数的和)
a=[0,1]
#b=int(input("输入长度数字"))
for i in range(5):#range(b)
a.append(a[-2]+a[-1])
print(a)
#执行结果为:[0, 1, 1, 2, 3, 5, 8]
创建一个列表
list01=[]
for i in range(10):
list01.append(i)
print(list01)
#简便方法
list02=[i for i in range(10)]
print(list02)
就是上面的append里面增加的什么 列表里面就写什么
总结
if: else: if:elif: if None: while : for xxx in 可迭代对象 break continue else
你需要知道
1 while循环结构中,如果使用各种数据类型作为循环条件,哪些是True,哪些是False?
非0即True0.2 简述循环语句中break、continue和else的作用?
break退出循环 执行循环体外面的数据
continue 结束本次 继续执行循环体内的
else 循环正常结束执行 若被break打断 else也不会执行
3 通过for循环与range函数,打印100以内的奇数
for i in range(1,101,2):
print(i)