python基础刻意练习--Task 2 条件与循环

Day 2

一、条件语句

条件判断中语句的一般形式是:

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3

下面我们来一行一行解读。

1)if语句
  • python中的条件判断一般是通过if语句实现的。比如:
if condition_1:
    statement_block_1
  • 上式中如果condition_1为真,则执行下面的statement_block_1语句,否则,继续执行后面的语句。
  • 当然了,if语句中的条件语句condition_1中也可以加入布尔操作符andornot。比如:
if 3 > 2 or not 7 < 8:
    print("Hello world!")
2)else语句
  • 我们可以在if语句的后面添加一个else语句,意思是,如果if判断是False的,那么就不去执行if语句后面的内容,而是执行else语句的内容。例如:
age = 3
if age >= 18:
    print('your age is', age)
    print('adult')
else:
    print('your age is', age)
    print('teenager')

'''
会执行else语句的内容,即输出结果为:
your age is 3
teenager
'''
3)elif语句
  • elif语句类似于C++中的else if语句,学习过C++的同学对它应该很熟悉,语句中可以有多个elif语句,来完善条件判断。
  • 在上面的例子中,条件判断是十分粗略的,我们可以用elif语句使得判断更加的细致。例如:
age = 3
if age >= 18:
    print('adult')
elif age >= 6:
    print('teenager')
else:
    print('kid')

'''
首先age不满足if的条件,故不能执行if语句下的内容,其次后面的的语句elif的条件,它仍不满足,最后只得执行else语句下的内容。
即输出结果为:
kid
'''
4)条件语句的嵌套使用
  • ifelse语句是可以嵌套使用的,例如:
if <条件1>:
    <执行1>
    if <条件1.1>:
        <执行1.1>
    elif <条件1.2>:
        <执行1.2>
    else <条件1.3>:
        <执行1.3>
elif <条件2>:
    <执行2>
else:
    <执行3>
  • 当然在条件判断中使用input()语句,可以使语句变得更有趣。例如:
s = input('birth: ')
birth = int(s)
if birth < 2000:
    print('00前')
else:
    print('00后')

'''
因为input()返回的类型是str类型,不能和整数比较,所以需要用int将其转化为整数类型,才可以在语句中执行比较。
所以,若输入:
birth: 1997    
则输出:
00前
'''
2、循环语句

当我们计算一些数字很少的四则运算时,像1+2+3这类运算,我们可以很轻松的计算出数值,但是,如果要我们计算1+2+3+…+10000,我们直接计算是几乎不可能的,所以,我们需要用到循环语句,来使我们的运算变得简单快捷。

1)while 循环
  • 在 while 循环中,只要条件满足,它就会一直循环下去,条件不满足时,它就会退出循环,比如我们举一个例子:计算1+2+3+…+100的值。
    bc1
    最后输出为:
    sc1
2)for … in 循环
  • 此循环会依次把list或tuple中的每个元素迭代出来,例如:
for i in 'ILoveYou':
    print(i, end=' ')  # 不换行输出
    
# I L o v e Y o u
  • 如果我们要计算1-10的和,我们也可以用for循环来完成:
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    sum = sum + x
print(sum)
  • 但是,如果我们要计算1-100的和,那么列出所有的数来就有点不实际了,所以我们引出range()函数,它可以生成一个整数序列,再通过list()函数可以将其转化成list。比如range(5)可以生成从0开始小于5的所有整数:
>>> list(range(5))
[0, 1, 2, 3, 4]
  • 所以,如果我们要计算1-100的和,程序如下:
sum = 0
for x in range(101):
    sum = sum + x
print(sum)
3)break 语句
  • 在循环中,break语句可以提前跳出 for 和 while 的循环。例如,我们要打印1-100这些数字,如果要提前结束循环,就是用break语句:
n = 1
while n <= 100:
    if n > 10: # 当n = 11时,条件满足,执行break语句
        break # break语句会结束当前循环
    print(n)
    n = n + 1
print('END')

代码执行后为:
zx1
可以看到打印出1-10后,紧接着打印出了END,程序结束。

4)continue 语句
  • 在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。比如我们想打印1-10中的奇数部分,那么就可以使用continue语句来跳过某些循环。例如:
n = 0
while n < 10:
    n = n + 1
    if n % 2 == 0: # 如果n是偶数,执行continue语句
        continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
    print(n)

执行上面的代码后,可以得到:
sc2
从输出可以看到,打印的是1,3,5,7,9,可见continue语句可以提前结束本轮循环,并直接开始下一轮循环。

5)pass 语句
  • pass语句就是什么都不做。它只在语法上需要一条语句,但程序不需要任何操作时使用.例如:

>>> while True:
...     pass  # 等待键盘中断 (Ctrl+C)

备注

学习参考资料:
https://www.liaoxuefeng.com/wiki/1016959663602400/1017100774566304
https://www.w3cschool.cn/python3/python3-loop.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值