Python 学习二:条件与循环

该博客引用整理以下内容:
整理引用源内容详见廖雪峰老师的Python教程
https://www.liaoxuefeng.com/wiki/1016959663602400/1017063826246112
这个只是打卡用的 ! 推荐大家看上面这个 !

文章目录

  • 条件语句
  • 循环语句

条件语句

该语句主要为if语句

根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。也可以给if添加一个else语句,意思是,如果if判断是False,就不会去执行if的内容,而会去把else执行了。

a = 18
if a > 100:
print('a小于100')
else:
print('ERROR')

注意if后面的冒号!
此外哦,还可以用elif(else if 的缩写)来用于更加精细的条件判断
比如:

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

再次强调注意冒号(○´・д・)ノ
if语句的判断是由上而下的,所以如果你按如下输入

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

那么,输出的是teenager,因为在第二行的时候,该语句就已经判断出了结果,那么之后的就不会被执行。

if语句还可以简写,如:

if a:
    print('( •̀ ω •́ )y')

要注意,a是非零数值、非空字符串、非空list等,就会判断为ture,否则为false


循环语句

Python的循环有两种:

for x in …

names = ['C菌', '敖厂长', '张大仙']
for name in names:
    print(name)

执行这段代码,会依次打印names的每一个元素:

C菌
敖厂长
张大仙

for x in …循环就是把每个元素代入变量x,然后执行缩进块的语句

range()

range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。比如range(5)生成的序列是从0开始小于5的整数:

>>> list(range(5))
[0, 1, 2, 3, 4]

第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:

sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)

在循环内部变量n不断自减,直到变为-1时,不再满足while条件,循环退出。

break
break语句可以提前退出循环,如:

n = 1
while n <= 100:
    if n > 10: # 当n = 11时,条件满足,执行break语句
        break # break语句会结束当前循环
    print(n)
    n = n + 1
print('END')

执行上面的代码可以看到,打印出1~10后,紧接着打印END,程序结束。

可见break的作用是提前结束循环。

continue
通过continue语句,跳过当前的这次循环,直接开始下一次循环。

n = 0
while n < 10:
    n = n + 1
    if n % 2 == 0: # 如果n是偶数,执行continue语句
        continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
    print(n)

在没有加if continue之前,可以打出1到10的数字,但是加上之后,就只会按if的判断跳过一些循环,便只会打出奇数了。

break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if语句使用。

要特别注意,不要滥用break和continue语句。break和continue会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break和continue语句,上面的两个例子,都可以通过改写循环条件或者修改循环逻辑,去掉break和continue语句。


你可能感兴趣的:(编程)