python的for、while循环和if条件语句
if 条件语句
通过下图来简单了解条件语句的执行过程:
- Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
- Python 编程中 if 语句用于控制程序的执行,基本形式为:
if <判断条件1,如果>: //注意加上冒号:
<执行语句1>
elif <判断条件2,又如果>:
<执行语句2>
else <判断条件3,否则>:
<执行语句3>
ps:条件判断后,逻辑操作可以有多行。
其中elif
和else
均为可选。
python中条件判断主要根据缩进和冒号进行判断,假如if中的条件为True,则执行if下一行缩进的print语句,否则什么也不做。
下面的语句则添加了else
条件,当if
条件为True时执行后面缩进的print语句,否则执行else
后面缩进的语句。
例子1: 判断 d 是否为字典,如果 d 为词典则输出 d 的值是字典
d = dict(a=1)
if isinstance(d,dict):
print("{0} is dict".format(d))
输出结果:
py代码解析:
1、将d赋值一个字典值为 a:1
2、使用 isinstance() 函数 判断 d类型是否为dict类型; isinstance() 判读数据是否有指定的类型
3、根据判断d类型如果为dict类型,则会输出如上图中的结果{‘a’: 1} is dict ; .format() 传参数(字符串格式化)
例子2:根据输入正确的数字判断年龄是否已成年或是小孩
age = input("Please input your age: ")
if age.strip():
if age.isdigit():
if int(age)>=18:
print("you is a man!")
else:
print("你是一个成年人!")
else:
print("你输入的不是数字")
else:
print("你输入的只有空格")
ps:注意格式的缩进,if 和 else 的缩进。
py代码解析:
1、将age设置一个 input函数,根据input输入的信息进行下列的判断打印对应的消息 ;input() 用户交换函数,输入后强制转换字符串类型
2、根据输入的信息判断的结果如上面4张图
3、 上面用到的 strip()函数,用于字符串过滤空格; isdigit()函数,判断输入的信息是否为数字 ;int() 函数,强制类型转换,转换成整型
4、 这里使用了多层 if….else.. 的逻辑关系
例子2:判断输入的值是正数还是负数:
下面的语句中添加了elif
和else
条件。
当if
条件为True时执行后面缩进的print语句,剩余的elif
和else
均不执行。
当if
条件为False时执行elif
语句,当elif
条件为True时,执行其后面缩进的print语句,剩下的else
不执行。
当if
和elif
条件均为False时,执行else
后面缩进的print语句。
num = input("please input a number: ")
if int(num)>0:
print("{0}是正数".format(num))
elif int(num)<0:
print("{0}是负数".format(num))
else:
print("你输入的数字为{0}".format(num))
py代码解析:
1、将num设置一个 input函数,根据input输入的信息进行下列的判断打印对应的消息 ;
2、根据输入的值判断的结果如上面3张图
3、上面用到的 int()函数,用于将输入的值转换为整型
4、这里使用了 if..elif..else.. 的逻辑关系
for循环的使用:
for循环的语法格式
for item in sequence:
执行语句
例子1:计算1-10的和
sum = 0
for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
sum += i
print(sum)
-----------
55
例子2:使用range()
函数可以生成整数序列。
for i in range(1,5):
print(i)
-----------
1
2
3
4
根据上面输出可以看到:
range()函数输出的序列包含左面数字,不包含右面数字。
例子3:根据for循环和range函数实现乘法口诀。 代码思路
- 根据乘法口诀的特点,a表示乘号前的数字,b表示乘号后的数字。
- b总是和它所在的行数相等。
- a是变化的,但变化范围总是从1至b。
for b in range(1, 10):
for a in range(1, b+1):
print("{0} x {1} = {2}\t".format(a, b, a*b), end="")
print()
py代码解析:
1、用到了end"",可以将回车 换成 空格,然后再打印一次就会变成阶梯型的九九乘法表了。
2、\t 控制字符,制表符,Tab键
while循环的使用:
Python 编程中 while 语句用于循环执行程序,只要条件满足就不断循环,直到条件不满足时才退出循环,以处理需要重复处理的相同任务。
如下图
1、while循环语法结构:
while 的基本形式
while <判断条件>:
执行语句(逻辑操作)........
ps:条件判断后的,逻辑操作可以有多行。
例子:循环打印出1~100的结果
a = 100
while a >= 1:
print(a)
a -= 1
py代码解析:
1、将a赋值100
2、使用while循环结构,当a>=1时开始循环
3、打印出a的值,每次打印a都减去1,因为首次输入为100,后续每次结果减1,99、98、97如此类推打印
4、输出结果为1到100的值
while、for、if 循环的组合使用
例子1:死循环执行,例如循环打印成绩是否合格
score = 59
while True:
if score > 60:
print("you passed")
else:
print("不及格,请准备补考!")
py代码解析:
1、将score赋值59
2、使用while判断值为True时,根据下面if的条件输出结果
3、score赋值为59,输入结果会不断打印”不及格,请准备补考!”,会导致死循环
注意:
2、使用break和continue可以解决死循环的问题:
break #中断,用于满足条件就停止循环
continue #停止,用于在不满足条件时候提示重新输入等,继续循环执行到满足为止
例子2:判断年龄是否已成年或是小孩,如果输入有误则提示继续输入:
while 1:
age = input("please input your age: ")
if age.strip():
if age.isdigit():
if int(age) >= 18:
print("你是一个成年人")
break
else:
print("你是小孩")
break
else:
print("你输入的不是数字, 请重新输入:")
continue
else:
print("你输入的只有空格, 请重新输入:")
continue
py代码解析:
1、使用continue,在输入为空格或不是数字的情况下会提示让重新输入,继续循环工作
2、使用break,当满足条件正确后则会结束循环并打印结果
五、总结
1、学习了for、if、while的语法使用,在实际情况中嵌套使用2、在处理死循环语句中,可以用到break和continue。
break用于满足条件后退出;continue用于不满足条件,则继续执行循环
3、end 不换行,将回车 转换 为空格
上一篇: 配置apache2.4时出现Forbidden You don't have permission to access / on this server. 问题解决方案
下一篇: python每日一练day01
推荐阅读