运维初学pythonDay02

判断语句 条件分支结构

缩进 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)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

small white poplar

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

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

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

打赏作者

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

抵扣说明:

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

余额充值