欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python的for、while循环和if条件语句

程序员文章站 2022-03-15 22:42:06
...

if 条件语句

通过下图来简单了解条件语句的执行过程:

python的for、while循环和if条件语句

  • Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
  • Python 编程中 if 语句用于控制程序的执行,基本形式为:
if <判断条件1,如果>    //注意加上冒号:  
   <执行语句1>elif <判断条件2,又如果>:     <执行语句2>
else <判断条件3,否则>:
     <执行语句3>ps:条件判断后,逻辑操作可以有多行。

其中elifelse均为可选。

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))
输出结果:

python的for、while循环和if条件语句

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("你输入的只有空格")

python的for、while循环和if条件语句

ps:注意格式的缩进,if 和 else 的缩进。

py代码解析: 

1、将age设置一个 input函数,根据input输入的信息进行下列的判断打印对应的消息 ;input()  用户交换函数,输入后强制转换字符串类型
2、根据输入的信息判断的结果如上面4张图 
3、 上面用到的 strip()函数,用于字符串过滤空格; isdigit()函数,判断输入的信息是否为数字 ;int() 函数,强制类型转换,转换成整型
4、 这里使用了多层 if….else.. 的逻辑关系

例子2:判断输入的值是正数还是负数:

下面的语句中添加了elifelse条件。
if条件为True时执行后面缩进的print语句,剩余的elifelse均不执行。
if条件为False时执行elif语句,当elif条件为True时,执行其后面缩进的print语句,剩下的else不执行。
ifelif条件均为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))
python的for、while循环和if条件语句

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()
python的for、while循环和if条件语句

py代码解析:

1、用到了end"",可以将回车 换成 空格,然后再打印一次就会变成阶梯型的九九乘法表了。
2、\t   控制字符,制表符,Tab键


while循环的使用:

Python 编程中 while 语句用于循环执行程序,只要条件满足就不断循环,直到条件不满足时才退出循环,以处理需要重复处理的相同任务。

如下图

python的for、while循环和if条件语句

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,输入结果会不断打印”不及格,请准备补考!”,会导致死循环

注意: 

1、如果需要使用到死循环,while 1: 会比while True: 效率高 
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
python的for、while循环和if条件语句

py代码解析: 

1、使用continue,在输入为空格或不是数字的情况下会提示让重新输入,继续循环工作 
2、使用break,当满足条件正确后则会结束循环并打印结果

五、总结 

1、学习了for、if、while的语法使用,在实际情况中嵌套使用 
2、在处理死循环语句中,可以用到break和continue。
break用于满足条件后退出;continue用于不满足条件,则继续执行循环 
3、end    不换行,将回车 转换 为空格