python之for循环、if循环、while循环
一、for循环的使用
1、for循环语法结构:
for iterating_var in sequence:
逻辑操作…………
2、for循环语句的实际运用:
2.1使用for循环语句打印1~99的值:
for i in range(1, 100):
print(i)
解析:
1、将 i 赋值到 range函数中,从1开始到100停止
2、打印结果为前开后闭,则输出结果为1、2、3、4、5、……、99
二、if循环的使用
1、if循环语法结构:
if 条件判断:
逻辑操作…………
………
ps:条件判断后的,逻辑操作可以有多行。
2、if循环语句的实际运用:
2.1判断d是否为字典,如果d为词典则输出d的值是字典:
d = dict(a=1)
if isinstance(d, dict):
print("{0} is dict".format(d))
解析:
1、将d赋值一个字典值为a:1
2、使用isinstance函数判断d类型是否为dict
3、根据判断d类型如果为dict则会输出如上图中的结果{‘a’: 1} is dict
2.2根据输入正确的数字判断年龄是否已成年或是小孩的:
age = input("Please input your age: ")
if age.strip():
if age.isdigit():
if int(age)>=18:
print("你是一个成年人!")
else:
print("你还是一个小孩!")
else:
print("你输入的不是数字")
else:
print("你输入的只有空格")
解析:
1、将age设置一个 input函数,根据input输入的信息进行下列的判断打印对应的消息
2、根据输入的信息判断的结果如上面4张图
3、 上面用到的 strip函数,用于去除前尾的空格; isdigit函数用于判断输入的信息是否为数字
4、 这里使用了多层 if….else.. 的逻辑关系
2.3判断输入的值是正数还是负数:
number = input("Please input a number: ")
if int(number) > 0:
print("{0} 是正数!".format(number))
elif int(number) < 0:
print("{0} 是负数!".format(number))
else:
print("输入的数字等于{0}".format(number))
解析:
1、将number设置一个 input函数,根据input输入的信息进行下列的判断打印对应的消息
2、根据输入的值判断的结果如上面3张图
3、上面用到的 int函数,用于将输入的值转换为整型
4、这里使用了 if..elif..else.. 的逻辑关系
ps:发现在输入小数的是否就会程序报错,int 如果换成 float 个人感觉会比较好,建议可以改成下面这个:
number = float(input("Please input a number: "))
if number > 0:
print("{0} 是正数!".format(number))
elif number < 0:
print("{0} 是负数!".format(number))
else :
print("输入的数字等于{0}".format(number))
三、while循环的使用
1、while循环语法结构:
while 条件判断:
逻辑操作…………
…………
ps:条件判断后的,逻辑操作可以有多行。
2、while循环语句的实际运用:
2.1使用循环打印出1~100的结果:
a = 100
while a >= 1:
print(a)
a -= 1
解析:
1、将a赋值100
2、使用while循环结构,当a>=1时开始循环
3、打印出a的值,每次打印a都减去1,因为首次输入为100,后续每次结果减1,99、98、97如此类推打印
4、输出结果为1到100的值
四、for、if、while循环语句的组合使用
1、for、if、while循环语句的实际结合运用:
1.1 死循环执行,例如循环打印成绩是否合格:
score = 59
while True:
if score > 60:
print("恭喜你及格了!")
else:
print("不及格,请准备补考!")
解析:
1、将score赋值59
2、使用while判断值为True时,根据下面if的条件输出结果
3、score赋值为59,输入结果会不断打印”不及格,请准备补考!”,会导致死循环
ps:
1、如果需要使用到死循环,while 1: 会比while True: 效率高
2、使用break和continue可以解决死循环的问题:
break #中断,用于满足条件就停止循环
continue #停止,用于在不满足条件时候提示重新输入等,继续循环执行到满足为止
2.2根据输入正确的数字判断年龄是否已成年或是小孩,如果输入有误则提示继续输入:
while 1:
age = input("Please input your age: ")
# print(type(age))
if age.strip():
if age.isdigit():
if int(age) >= 18:
print("你是一个成年人!")
break
else:
print("你还是一个小屁孩!")
break
else:
print("你输入的不是数字, 请重新输入: ")
continue
else:
print("你输入的只有空格, 请重新输入:")
continue
解析:
1、使用continue,在输入为空格或不是数字的情况下会提示让重新输入,继续循环工作
2、使用break,当满足条件正确后则会结束循环并打印结果
2.3打印九九乘法表:
for b in range(1, 10):
for a in range(1, b+1):
print("{0}x{1}={2}".format(a, b, a*b), end=" ")
if a == b:
print()
解析:
1、首先九九乘法表的结构是 a x b = a b的结果*
2、如下,可以看出a是从1到9,而b是根据行号,如此推下去
第1行 1x1=1
第2行 1x2=2 2x2=4
第3行 1x3=3 2x3=6 3x3=9
3、开始打印出来的结果是一个竖着显示的结果,并非上图的阶梯型。这时候我们用到了end,可以将回车打印成空格,然后再打印一次就会变成阶梯型的九九乘法表了。
五、总结
1、学习了for、if、while的语法使用,在实际情况中嵌套使用
2、在处理死循环语句中,可以用到break和continue。break用于满足条件后退出;continue用于不满足条件则继续执行循环
3、end 可以用于将回车转换为空格串等形式输出