python之for循环、if循环、while循环

时间:2022-12-13 14:09:10

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))

python之for循环、if循环、while循环
解析:
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("你输入的只有空格")

python之for循环、if循环、while循环
解析:
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))

python之for循环、if循环、while循环
解析:
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

python之for循环、if循环、while循环
解析:
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()

python之for循环、if循环、while循环
解析:
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 可以用于将回车转换为空格串等形式输出