分支和循环

一、条件判断

1、if语句

计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。
例如:判断年龄是否为满足条件:

age = 20
if age >= 18:
    print('your age is', age)
    print('adult')

还可以用来判断真假

if age:  #此时表示age是真,特殊的真假(0为假,非0为真;""为假,None为假,[]为假,()为假,{}为假)
    print("非0")
else:
    print("为0")

2、elif和else语句

elifelse if的缩写,完全可以有多个elif
例如:

age = 20
if age >= 6:
    print('teenager')
elif age >= 18:
    print('adult')
else:
    pass

当然,循环语句还可以有更多种用法,例如:

#and(表并且)、or(或者)和not(表示不满足后面的条件),pass表示代码运行到这里就跳过
if age == 21 and name == "z7sz":
    print("successed")
else:
    print("pass")

if age == 21 or name == "z7sz":
    print("1 successed")
else:
    print("1 pass")

if not age == 21 :
    print("不是21")
else:
    pass

二、循环语句

1、for语句

for循环是python中很常用的一种循环方式。
比如我们需要计算1到100的总和:

sum=0
#range()表示一个数字范围,并且包头不包尾
for x in range(101):
    sum += x
print(sum)

这里注意一个函数range()

  • range(101):可以用来产生0到100范围的整数,需要注意的是取不到101。
  • range(1, 101):可以用来产生1到100范围的整数,相当于前面是闭区间后面是开区间。
  • range(1, 101, 2):可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。
  • range(100, 0, -2):可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值。

利用这个函数,我们可以计算1~100之间的偶数和

sum = 0
for x in range(2, 101, 2):
    sum += x
print(sum)

2、while语句

如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环。while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True则继续循环;表达式的值为False则结束循环。

下面我们通过一个“猜数字”的小游戏来看看如何使用while循环。猜数字游戏的规则是:计算机出一个1到100之间的随机数,玩家输入自己猜的数字,计算机给出对应的提示信息(大一点、小一点或猜对了),如果玩家猜中了数字,计算机提示用户一共猜了多少次,游戏结束,否则游戏继续。

import random

answer = random.randint(1, 100)
counter = 0
while True:
    counter += 1
    number = int(input('请输入: '))
    if number < answer:
        print('大一点')
    elif number > answer:
        print('小一点')
    else:
        print('恭喜你猜对了!')
        break
print('你总共猜了%d次' % counter)

上面的代码中使用了break关键字来提前终止循环,需要注意的是break只能终止它所在的那个循环,这一点在使用嵌套的循环结构(下面会讲到)需要引起注意。除了break之外,还有另一个关键字是continue,它可以用来放弃本次循环后续的代码直接让循环进入下一轮。

不管是循环还是条件判断,都必须要慎用,不合理的判断循环语句只会造成程序运行打不到预期的结果。条件判断要尽可能的简单,不要出现太多的分支结构,这只会造成程序大量的浪费资源以及执行顺序太慢,在正常的程序里头,当条件分支结构太多并且错综复杂的时候,就不应该考虑if-else的写法,而应该考虑更深层次的写法,比如责任链,当然这里肯定不讲这么深的东西;循环则是要注意循环能够退出,避免进入死循环。
我的博客:https://blog.z7sz.top

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xingyuzhongxuan

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

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

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

打赏作者

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

抵扣说明:

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

余额充值