python条件控制语句


1.条件判断语句(if语句)

  • 执⾏的流程:
    • if语句在执⾏时,会先对条件表达式进⾏求值判断,
    • 如果为True,则执⾏if后的语句
    • 如果为False,则不执⾏
  • 语法:
if 条件表达式 :
    代码块
  • 代码块代码块中保存着⼀组代码,同⼀个代码块中的代码,要么都执⾏要么都不执⾏
  • 代码块以缩进开始,直到代码恢复到之前的缩进级别时结束
  • 代码块就是⼀种为代码分组的机制

2.input() 函数

  • 该函数⽤来获取⽤户的输⼊
  • input()调⽤后,程序会⽴即暂停,等待⽤户输⼊
  • ⽤户输⼊完内容以后,点击回⻋程序才会继续向下执⾏
  • ⽤户输⼊完成以后,其所输⼊的的内容会以返回值得形式返回

3. if-else语句

  • 语法:
if 条件表达式 :
     代码块
else :
    代码块
  • 执行流程
    • if-else语句在执⾏时,先对if后的条件表达式进⾏求值判断
    • 如果为True,则执⾏if后的代码块
    • 如果为False,则执⾏else后的代码块)

4. if-elif-else 语句

  • 语法:
if 条件表达式 :
    代码块
elif 条件表达式 :
    代码块
elif 条件表达式 :
    代码块
......
else :
    代码块
  • 执行流程:
    • if-elif-else语句在执⾏时,会⾃上向下依次对条件表达式进⾏求值判断,
    • 如果表达式的结果为True,则执⾏当前代码块,然后语句结束
    • 如果表达式的结果为False,则继续向下判断,直到找到True为⽌
    • 如果所有的表达式都是False,则执⾏else后的代码块
  • 总结: if-elif-else中只会有⼀个代码块会执行

5.while语句

  • 循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环和 for循环
  • 语法:
while 条件表达式 :
    代码块
else:
    代码块
  • 执行流程
    • while语句在执⾏时,会先对while语句后⾯的条件表达式进⾏求值判断
    • 如果判断结果为True,则执⾏循环体的逻辑(代码块)
    • 循环体执⾏完毕之后,继续对条件表达式进⾏求值判断,依此类推
    • 直到判断结果为False

6.循环嵌套

  • Python允许在⼀个循环体⾥⾯嵌⼊另⼀个循环。
  • 语法:
while 表达式:
    while 表达式:
        代码块
    代码块
for 变量 in 循环规则:
    for 变量 in 循环规则:
        代码块
    代码块

7.break和continue

  • break 可以⽤来⽴即退出循环语句,包括else语句
  • continue ⽤来跳过当初循环

1.求1000以内所有的⽔仙花数

# ⽔仙花数:如果⼀个3位数字的每⼀位的⽴⽅和与这个数字相同,这个数字就是⽔仙花数
def narcissistic_number():
    i = 100
    while i < 1000:
        if (i // 100) ** 3 + ((i // 10) % 10) ** 3 + (i % 10) ** 3 == i:
            print(i, end=' ')
        i += 1
        
narcissistic_number()

在这里插入图片描述
2.获取⽤户输⼊的任意数,判断其是否是质数?

# 公用完全正确的命题是:要判定正整数a是否是质数,需要用小于根号a的所有质数试除,如果都不能整除,则正整数a是质数
# 质数大于等于2且不能被它本身和1以外的数整除
from math import sqrt

def is_prime_number(n):
    if n < 2:
        return False
    for i in range(2, int(sqrt(n)) + 1):
        if n % i == 0:
            return False
    return True
    
while True:
    a = float(input('输入一个数:'))
    if is_prime_number(a):
        print('这是一个质数')
    else:
        print('这不是一个质数')

在这里插入图片描述

©️2020 CSDN 皮肤主题: 点我我会动 设计师:上身试试 返回首页