一、条件判断
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语句
elif
是else 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