python控制结构-2

这篇博客详细介绍了Python的流程控制,包括if条件分支语句,while和for循环的使用,如range(),以及break和continue的控制。同时讲解了while...else...和for...else...的应用,涉及水仙花数的计算等实践示例。
摘要由CSDN通过智能技术生成

python 流程控制

if条件分支语句

  • python的条件语句就是通过一条或者多条语句执行的结果(true/false)来决定执行的代码块。

  • if语句

    if 逻辑语句:
        语句(块)
    #注意这里elif 为 else if 的缩写
    elif 逻辑语句:
        语句块
    else 逻辑语句:
        语句块
    
    • demo

      num=input("输入一个数字:")
      num=int(num)
      if num > 100:
          if num < 200:
              print("接近了!")
          else :
              print("太大了!")
      elif num < 100:
          if num > 0:
              print("接近了!")
          else:
              print("太小了!")
      else :
          print("lucky")
      
    • 练习:百分制考试成绩返回五级制

      num=input("输入一个数字:")
      num=int(num)
      if num <= 100 and num>90:
          print("A")
      elif num <= 90 and num>80:
          print("B")
      elif num <= 80 and num>70:
          print("C")
      elif num <= 70 and num>60:
          print("D")
      elif num <= 60:
          print("E")
      else :
          print("不在区域内")
      
    • 水仙花数

      num = input("输入一个三位数:")
      num = int(num)
      if (num//100)**3+(num%100//10)**3+(num%10)**3==num:
          print("是水仙花数")
      
      

while 语句

  • 循环语句

    • 所谓循环,就是用来执行部分代码在一定条件下重复执行的代码
    • 格式
    while 判断语句:
    	执行语句
    
  • demo

    num=1
    while num<10:
        print((num+1)+num)
        num+=1
    
  • 打印1~100

    num=1
    while num<=100:
        print(num)
        num+=1
    
  • 求1~100的和

    num=1
    sum=0
    while num<=100:
        sum+=num
        num+=1
    print(sum)
    
  • 结合if语句,找数字

    num=input("输入一个数字:")
    def num1(num):
        num = int(num)
        if num > 100:
            if num < 200:
                print("接近了!")
            else:
                print("太大了!")
        elif num < 100:
            if num > 0:
                print("接近了!")
            else:
                print("太小了!")
        else:
            print("lucky")
            return 1;
    
    while (True):
        if num1(num) ==1:
            break
        num=input()
    
  • 100~999内的水仙花数

    num = input("输入一个三位下限数:")
    num1= input("输入一个三位上限数:")
    num = int(num)
    num1=int(num1)
    def num2(num):
        num = int(num)
        if (num // 100) ** 3 + (num % 100 // 10) ** 3 + (num % 10) ** 3 == num:
            print(num,end=" ")
    while(True):
        if(num<=num1):
            num2(num)
        else:
            break
        num+=1
    
  • 所有位数的水仙花数

def num_sum(num):
    sum=0
    a=num
    i=1
    while True:
        if num//10>0:
            num=num//10
            i+=1
        else:
            break
    j=i-1
    sum+=(a//(10**j))**i
    while True:
        j-=1
        if j==-1:
            break
        #print((a//(10**j)%10)**i)
        sum+=(a//(10**j)%10)**i
    if(sum==a):
        print(sum,end=" ")
num_1=input("请输入一个数:")
num_1=int(num_1)
a=1
print(num_1,"以内的水仙花数为:")
while True:
    if a>num_1:break
    num_sum(a)
    a+=1

for循环

python中的for循环可以用来“遍历”任何序列

格式:

for i in 序列
	执行语句

range()

range(end)#[0,end-1]
range(start,end)#[start,end-1]
range(start,end,step)
#[start,end-1] step为累加

break和continue

  • break用来跳出循环
  • continue用来终止本次循环

while…else…

for…else…

​ while…else…,for…else…中while和else是一起的,for和else也是一起的。

​ 当break或return时就会跳出while。如果没有break或者return,不管while知否执行,都会执行else。

num=input("输入一个数:")
num=int(num)
i, j, sum = 0, 0, 0
while num > 0:
    sum += i
    i += 1
    if i == num+1: break
else:
    print("不得输入负数")
    exit()
print("1到",num,"的和为",sum)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值