Python自学记录——条件判断语句和循环语句

条件判断语句和循环语句都是编写代码中经常用到的语句,下面就简单说下:

条件判断语句

条件判断语句的是:

if(判断内容):
    执行内容1
elif(判断内容):
    执行内容2
else:
    执行内容3

使用时要注意判断格式,换行后第二行要缩进四个空格,否则会报错。

以上述代码为例,if 后面的括号内,放入的首次判断的内容,若正确,执行 执行内容1 ,执行完成后,跳过剩余判断语句;若错误,则跳过 执行内容1 ,开始执行 elif 括号里的内容,若正确,执行 执行内容2 ,执行完成后,跳过剩余判断语句;若错误,则跳过 执行内容2 ,直接开始执行else里的 执行内容3。示例如下:

设置 a = 20 


由于 a = 20 > 10 ,则执行第一个判断成功后,执行下面的语句print('a大于10'),之后跳过剩余语句。

有几点需要注意

  1. 一个条件判断语句中可以有多个 elif 。
  2. 一个条件判断语句中最多只能有一个 else ,条件判断语句可以没有else。
  3. 条件判断语句判断成功后,执行当前成功判断里的代码,执行完成后,直接跳过剩余条件判断语句。

其中,判断内容 一般是条件判断语句,例如:2>1 ,或者是 3>5 等,结果是返回 TrueFalse 的,示例如下:


判断内容 处也可放入 变量,只要变量是非零数值、非空字符串、非空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('请正确输入您的身高或体重信息')

循环语句

循环是让计算机做重复任务最有效的方法。

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 判断条件 :
    执行任务语句

示例如下:


只要条件满足,它就自动循环,条件不满足,就跳出循环。

在循环语句中,有时需要提前 退出循环 或 跳过当前循环 ,这就涉及到 breakcontinue 两个语句。

break

break 是 退出循环,示例如下:


执行循环语句,当循环到 5 的时候,跳出循环。可见, break 的作用是 提前结束循环

continue

continue 是跳过当前循环,示例如下:


执行循环语句,当循环到 5 的时候,跳过本次循环,进入下一次循环。可见,continue 的作用是 提前结束本轮循环,进入下一轮循环

当我们写代码的时候,有时会碰到死循环,就是会一直循环下去的循环,示例如下:

a = 5
while a<10:
    print(a)

这是,编译器会一直输出 5 。这时,可以输入 Ctrl + c 强制中断进行的程序。

总结一下,判断语句和循环语句是 编写程序中经常用到的语句,要掌握好它们。

本篇结束,继续学习~~

猜你喜欢

转载自blog.csdn.net/qq_37647296/article/details/80844399