Python的程序的顺序结构,选择(条件)结构,循环结构

目录

1.顺序结构

2.选择结构(if语句)

2.1  前言:在条件判断时可能用到的知识

2.2  正文:

2.2.1  if单分支语句,if else双分支语句

 2.2.2  多分支语句

2.2.3  嵌套if

2.2.4 条件表达式

3.循环结构(while语句,for-in语句)

3.1  range()函数的使用

3.2  while循环

3.2.1  例:输出100以内的偶数和

3.3  for-in循环

3.3.1  例:1到1000内的水仙花数

3.4  break,continue语句

3.4.1  例:输入密码登录,最多尝试三次

3.4.2  例:输出1到50所有5的倍数

3.5  else语句

3.5.1  例:输入密码登录操作

3.6  嵌套循环

3.6.1  例:九九乘法表


1.顺序结构

定义:程序从上到下顺序的执行代码,中间没有任何判断和跳转,直到程序结束


2.选择结构(if语句)

2.1  前言:在条件判断时可能用到的知识

python一切皆对象,所有对象都有一个布尔值,使用内置函数bool()获取

print(bool(False))#False
print(bool(0))#False
print(bool(0.0))#False
print(bool(None))#False
print(bool(''))#False
print(bool(""))#False
print(bool([]))#False  --  空列表
print(bool(list()))#False  --  空列表
print(bool(()))#False  --  空元组
print(bool(tuple()))#False  --  空元组
print(bool({}))#False  --  空字典
print(bool(dict()))#False  --  空字典
print(bool(set()))#False  --  空集合

#除此之外其他对象的布尔值均为True

2.2  正文:

  • 2.2.1  if单分支语句,if else双分支语句

money=1000
DM=int(input('请输入取款金额'))
if money>=DM:
    money=money-DM
    print('取款成功,你的余额为:',money)
else:
    print('余额不足')
  •  2.2.2  多分支语句

weight=int(input('请输入体重(Kg):'))
if weight>100:
    print('肥胖')
elif weight>80 and weight<=100:
    print('偏胖')
elif weight>60 and weight<=80:
    print('正常体重')
else:
    print('营养不良')
  • 2.2.3  嵌套if

money=int(input('请输入消费金额:'))
vip=input('您是会员吗:')
if vip=='是':
    if money>=500:
        money*=0.7
        print(money)
    else:
        money*=0.8
        print(money)
else:
    money*=0.9
    print(money)

注:pass语句

(1)pass语句:pass语句什么都不做,只是一个占位符,用在语法上需要语句的地方

(2)什么时候用:先搭建语法结果,还没想好代码怎么写

(3)哪些语句一起使用:

  • if的条件执行体
  • for-in语句的循环体
  • 定义函数是的函数体

(4)例如:上面的会员结账程序,当我们没有想好执行体的代码时可以用pass语句占位,程序可以运行且不报错 

money=int(input('请输入消费金额:'))
vip=input('您是会员吗:')
if vip=='是':
   pass
else:
   pass
  • 2.2.4 条件表达式

num_a=input('请输入第一个数:')
num_b=input('请输入第二个数:')

'''
if num_a>=num_b:
    print(num_a,'大于等于',num_b)
else:
    print(num_a,'小于',num_b)
'''
#简写为条件表达式
print(str(num_a)+'大于等于'+str(num_b)   if num_a>=num_b else   str(num_a)+'小于'+str(num_b))


3.循环结构(while语句,for-in语句)

3.1  range()函数的使用

range()函数:用于生成一个整数序列

优点:不管range对象表示的整数序列有多长,所以range对象占用的内存空间都是相同的,因为仅仅需要存储,start,stop,step

#range()的三种创建方式

#1.只有一个参数range(stop)
r=range(10)
print(r)#结果:range(0, 10)  注:返回值是一个迭代器对象,看不到序列中具体的数据
print(list(r))#结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 注:如果想查看具体数据需要用list()列表来查看
#总结:只有1个参数,默认从0开始,到stop结束,步长为1

#2.有俩个参数range(start,stop)
r=range(2,10)
print(list(r))#结果:[2, 3, 4, 5, 6, 7, 8, 9]
#总结:有俩个参数,从strat开始,stop结束,步长为1

#3.有三个参数range(start,stop,step)
r=range(2,10,2)
print(list(r))#[2, 4, 6, 8]
#总结:有三个参数,从strat开始,stop结束,步长为2

3.2  while循环

3.2.1  例:输出100以内的偶数和

a=1
while a<10:
    a+=1
print(a)#结果:10

i=1
sum=0
while i<=100:
    if bool(i%2==0):
        sum = sum + i
    else:
        sum=sum+0
    i+=1
print(sum)#结果:2550 偶数和

i=1
sum=0
while i<=100:
    if not bool(i%2==0):#只需在这做修改即可改为奇数和
        sum = sum + i
    else:
        sum=sum+0
    i+=1
print(sum)#结果:2500 奇数和

3.3  for-in循环

  • in表达(字符串,序列等)中依次取值,又称遍历
  • for-in遍历的对象必须是可迭代对象
arr='hello world'
for item in arr: #从arr中取出的值依次赋值给item
    print(item)#输出item中的值

for i in range(10):
    print(i)#依次输出range()中的数

#在循环体中不需要使用自定义变量时,可将自定义变量写为“_”
for _ in range(5):
    print('人生苦短,python是岸')#结果输出5次,人生苦短python是岸

#使用for-in循环输出1-100的中的偶数和
sum=0
for i in range(1,101):
    if(bool(i%2==0)):
        sum+=i
    else:
        sum+=0
print(sum)

3.3.1  例:1到1000内的水仙花数

#1.
for i in range(100,1001):
    a=i%10
    b=int(i/10)%10
    c=int(i/100)
    if a**3+b**3+c**3==i:
        print(i)

#2.
for i in range(100,1001):
    a=i%10
    b=i//10%10
    c=i//100
    if a**3+b**3+c**3==i:
        print(i)

3.4  break,continue语句

break:用于结束循环,通常与分支结构if一起使用

for i in range(10):
    if i==3:
        break
    print(i)#输出0,1,2

3.4.1  例:输入密码登录,最多尝试三次

#从键盘录入密码,最多输入三次
count=2
my_password='123'
password=input('请输入密码')
while True:
    if my_password==password:
        print('登录成功')
        break
    else:
        if count>3:
            break
        else:
            password = input('请输入密码')
            count+=1

 continue:结束当前循环

for i in range(10):
    if i==4:
        continue
    print(i)

3.4.2  例:输出1到50所有5的倍数

#输出1到50,5的倍数
for i in range(1,51):
    if bool(i%5!=0):
        continue
    print(i)
#输出1到50,不是5的倍数
for i in range(1,51):
    if not bool(i%5!=0):
        continue
    print(i)

3.5  else语句

  • if 和 else搭配:条件成立执行if,不成立执行else
  • if 和 while 或 for-in搭配:没有碰到break时执行else

3.5.1  例:输入密码登录操作

#从键盘录入密码,最多输入三次
password='123'
pwd = input('请输入密码')
for i in range(3):

    if(pwd==password):
        print('登录成功')
        break
    else:
        pwd = input('请输入密码')
else:
    print('对不起,三次密码输入错误')#在循环语句执行完后执行else

3.6  嵌套循环

3.6.1  例:九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print(str(j)+'*'+str(i)+'='+str(i*j),end='\t')#不换行输出
    print()

运行结果:

  • 1
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值