Python-条件判断和循环

一、 条件判断

1. 简介:

计算机之所以能做很多自动的任务,因为他们可以自己做条件判断,所以条件判断语句的重要性可想而知。条件判断在python中利用if实现。

2. 语法格式:

if 判断语句:
    执行语句1 
    执行语句2

判断语句后面加:作为执行语句的代码段的开始,执行语句的前面要添加空格,使语句缩进在if语句的框架内(通常使用tab键)。
有缩进和没缩进的示例:

结果:这里写图片描述

3. if判断剖析:

1) if判断语句中依靠bool值:
如:对与错,真与假,空和非空等。
2) bool值包含两个值:

  • true:是表示非空的量(比如,string,tuple,list,set,dict等),和所有非零整数
  • false:表示0,none,空的量。

主要作用用于判断语句中,判断:

  • 一个字符串是否为空。
  • 一个运算结果是否为零。
  • 一个表达式是否可用。
  • 一句语句是否正确

4. 简单的条件判断示例。

这里写图片描述

如果if 的语句判断则输出缩进的内容
but ,请注意if 后面接逗号!
运行结果:
这里写图片描述

5. 添加一个else做更细致的判断:

1) 语法格式:
If判断语句:
执行语句1
else:
执行语句2

同时也注意不要少写了冒号:
else后面不接东西;就这样 else:
这里写图片描述

运行结果:这里写图片描述

6. 更细致的判断eif

添加elif:
这里写图片描述

elif 是else if 的缩写,可以同时存在多个elif 形式就是:

if  条件判断1 :
    执行语句1
elif 条件判断2:
    执行语句2
elif 执行判断3:
    执行语句3
else
    执行语句4

但是if 语句有一个特点,他是从上往下判断的,一旦有一个判断结果为true,则把对应的语句执行完毕后就忽略掉后面的elif和else。
如,测试为什么会返回teenager:
这里写图片描述

7. 进阶的双if嵌套循环

if语句中的执行语句可以执行任何语句,所以也包括if
接下来我们将写一个双重if的循环
嵌套if…elif… else

  if expression1:
    statement(s)
    if expression2:
      statement
    else:
      statement(s)
  else:
    statement(s)

 示例:

 x=int(input("Please Input x: "))
  y=int(input("Please Input y: "))
  if x>=90:
      if y>=90:
          print("A")
      else:
          print("WTF?")
  else:
      print("GO HOME!")

8. 加入input使程序更加有意思:

这里写图片描述
这里会报一个错,解决办法见9:

9. 报错之后解决办法,数据类型转换。

这里报了一个错,因为input返回的值是str,str不能直接与int整形比较,所以这里就必须要把str转换为整数。Python提供了一种int()函数来解决这种问题。
这里写图片描述
这样的强制类型转换,解决了这样的问题,但是输如abc 呢?又会得到一个问题
这里写图片描述
原来int()函数发现一个字符串不是一个合法数字就会报错,接着程序就退出了。
so,如何检查并捕获程序运行期的错误呢?后面的错误和调试会讲到。
10. 练习:
小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:
低于18.5:过轻
18.5-25:正常
25-28:过重
28-32:肥胖
高于32:严重肥胖
用if-elif判断并打印结果:
这里写图片描述

二、 while循环

1. 简单的for ….in 循环:

他会依次把list或者tuple中的元素迭代出来。
1) 语法格式:

names = ['Michael', 'Bob', 'Tracy']
    for name in names:
        print(name)

2) 这里先复习下什么是list 和tuple

  • list的结构

student = [‘a’,’b’,’c’] #list的内容是可以增加和删除的

  • tuple结构

    name = (1,2,’sdc’) #tuple的内容是不可变的

3) for X in ……循环示例:

这里写图片描述

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

4) sum变量做累加计算1-10的整数之和:

这里写图片描述

如果要计算1-100的和呢?是不是要从1打到100?no 我们可没那么傻,在python 中提供了一个叫range()的函数,可以生成一个整数序列,再通过list函数就可以转换为list 列如:
这里写图片描述

如果要生成元组tuple直接替换list 即可
但range函数生成的整数序列是0-100之间的。所以我们需要0-100需要设定为101:

这里写图片描述

2. while循环

只要条件满足就一直循环,不退出。条件不满足时退出循环,比如我们要计算1-100的和。那么:
这里写图片描述

1) 计算1-100的偶数和:

这里写图片描述

为什么这里没有前面的那一串了呢。因为print的位置问题,如果缩进的话就被判断为循环内,每次循环执行,而不缩进就只有循环结束执行。

2) 练习:

请利用循环依次对list中的每个名字打印出Hello, xxx!:、
L = [‘Bart’, ‘Lisa’, ‘Adam’]
这里写图片描述

但是有个问题,语句之间有空格,那是因为,print的时候字符之间加的逗号会变成空格。把它替换为+号就好了。
这里写图片描述

3) 方法二:利用for in 写:

这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值