条件判断语句和循环语句都是编写代码中经常用到的语句,下面就简单说下:
条件判断语句的是:
if(判断内容):
执行内容1
elif(判断内容):
执行内容2
else:
执行内容3
使用时要注意判断格式,换行后第二行要缩进四个空格,否则会报错。
以上述代码为例,if 后面的括号内,放入的首次判断的内容,若正确,执行 执行内容1 ,执行完成后,跳过剩余判断语句;若错误,则跳过 执行内容1 ,开始执行 elif 括号里的内容,若正确,执行 执行内容2 ,执行完成后,跳过剩余判断语句;若错误,则跳过 执行内容2 ,直接开始执行else里的 执行内容3。示例如下:
设置 a = 20
由于 a = 20 > 10 ,则执行第一个判断成功后,执行下面的语句print('a大于10'),之后跳过剩余语句。
有几点需要注意:
其中,判断内容 一般是条件判断语句,例如:2>1 ,或者是 3>5 等,结果是返回 True 或 False 的,示例如下:
判断内容 处也可放入 变量,只要变量是非零数值、非空字符串、非空list等,都判断为 True ,否则判断为 False,示例如下:
测试判断语句的小例子:
通过输入身高和体重信息,计算BMI值,并给出友善提醒,代码如下:
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
height = input('请输入您的身高(单位:米):'.decode("utf-8").encode("gbk"))
weight = input('请输入您的体重(单位:千克):'.decode("utf-8").encode("gbk"))
bmi = weight/(height*height)
print(bmi)
if bmi< 18.5:
print('您的体重过轻,要多吃肉~~'.decode("utf-8").encode("gbk"))
elif bmi>= 18.5 and bmi<=25:
print('您的体重正常,注意保持哈~~'.decode("utf-8").encode("gbk"))
elif bmi>25 and bmi<=28:
print('您的体重过重,要多出门呼吸新鲜空气呐~~'.decode("utf-8").encode("gbk"))
elif bmi>28 and bmi<=32:
print('您的体重肥胖,要多运动,少吃肉~~'.decode("utf-8").encode("gbk"))
elif bmi>32:
print('您的体重严重肥胖,为了您的健康,及时就医咨询减重呐~~'.decode("utf-8").encode("gbk"))
else:
print('请正确输入您的身高或体重信息'.decode("utf-8").encode("gbk"))
我使用的是Python2.7.15,执行时,发现中文乱码,在网上找到个例子,如上述代码所示,在字符串后面添加代码设置其字符串编码。先把数据通过decode('utf-8')转为字符串编码为utf-8的字符,再通过encode('gbk')转为cmd可以识别的GBK编码。这样就不会出现编码异常的问题。运行结果如下:
由于上述代码写的不完善,测试时请按照指定格式测试,否则会报错。
在Python3下 不去字符转码,但是输入的身高体重信息需要转为相应格式,在Python下,input 默认输入的是 字符串,需要转换成对应格式,具体如下:
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
height = input('请输入您的身高(单位:米):')
weight = input('请输入您的体重(单位:千克):')
height = float(height)
weight = int(weight)
bmi = weight/(height*height)
print(bmi)
if bmi< 18.5:
print('您的体重过轻,要多吃肉~~')
elif bmi>= 18.5 and bmi<=25:
print('您的体重正常,注意保持哈~~')
elif bmi>25 and bmi<=28:
print('您的体重过重,要多出门呼吸新鲜空气呐~~')
elif bmi>28 and bmi<=32:
print('您的体重肥胖,要多运动,少吃肉~~')
elif bmi>32:
print('您的体重严重肥胖,为了您的健康,及时就医咨询减重呐~~')
else:
print('请正确输入您的身高或体重信息')
print('您的体重过轻,要多吃肉~~')
elif bmi>= 18.5 and bmi<=25:
print('您的体重正常,注意保持哈~~')
elif bmi>25 and bmi<=28:
print('您的体重过重,要多出门呼吸新鲜空气呐~~')
elif bmi>28 and bmi<=32:
print('您的体重肥胖,要多运动,少吃肉~~')
elif bmi>32:
print('您的体重严重肥胖,为了您的健康,及时就医咨询减重呐~~')
else:
print('请正确输入您的身高或体重信息')
循环是让计算机做重复任务最有效的方法。
for循环
for循环语句如下:
for 循环内变量名 in list名:
执行任务语句
示例如下:
若想通过代码得到0到100相加的和,我们需要一个 list,里面包含 0 到 100 的数字,一个个写十分麻烦,我们可以使用Python提供的另一个函数:range() 。
range() 函数可以生成一个整数序列,比如,想要得到0-10的整数序列,写法如下:
range(11)
解释一下,上述示例是 从 0 开始 ,小于 11 的整数,得到的 就是 0到10 的整数序列。
由于 range() 生成的是整数序列,转为 list 型还需要用 list() 转一下。综上所述,通过代码得到0到100整数相加的和的示例如下:
while循环
while循环语句如下:
while 判断条件 :
执行任务语句
示例如下:
只要条件满足,它就自动循环,条件不满足,就跳出循环。
在循环语句中,有时需要提前 退出循环 或 跳过当前循环 ,这就涉及到 break 和 continue 两个语句。
break
break 是 退出循环,示例如下:
执行循环语句,当循环到 5 的时候,跳出循环。可见, break 的作用是 提前结束循环。
continue
continue 是跳过当前循环,示例如下:
执行循环语句,当循环到 5 的时候,跳过本次循环,进入下一次循环。可见,continue 的作用是 提前结束本轮循环,进入下一轮循环。
当我们写代码的时候,有时会碰到死循环,就是会一直循环下去的循环,示例如下:
a = 5
while a<10:
print(a)
这是,编译器会一直输出 5 。这时,可以输入 Ctrl + c 强制中断进行的程序。
总结一下,判断语句和循环语句是 编写程序中经常用到的语句,要掌握好它们。
本篇结束,教材网址:https://www.liaoxuefeng.com, 继续学习~~