Python的程序的顺序结构,选择(条件)结构,循环结构_python顺序结构-程序员宅基地

技术标签: python  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()

运行结果:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/KaiqiangLiu/article/details/124184352

智能推荐

使用Docker在windows上安装IBM MQ_win系统中,可视化工具连接其他服务上的ibmmq-程序员宅基地

文章浏览阅读859次,点赞18次,收藏8次。Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完;在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察。

软考—系统集成管理工程师备考经验_信息系统管理工程师真题百度云-程序员宅基地

文章浏览阅读362次,点赞6次,收藏8次。关于软考--系统集成管理工程师的学习总结和教训_信息系统管理工程师真题百度云

淘宝/天猫自定义API操作 API接口,custom-自定义API操作-程序员宅基地

文章浏览阅读887次,点赞24次,收藏23次。淘宝/天猫平台本身并不直接提供“自定义API操作”的官方API接口。API接口通常是由平台方定义和提供的,用于开发者与平台进行数据交互。然而,淘宝/天猫开放平台允许商家和开发者通过其提供的官方API进行一系列的操作,这些API覆盖了商品管理、订单处理、用户信息、物流查询等多个方面。您可以利用淘宝/天猫开放平台提供的官方API,通过组合多个API调用,来实现您自定义的业务逻辑。这可能需要一定的编程能力和对平台API的深入理解。

Ubuntu 16.04简易安装Nginx-rtmp-module_libnginx-mod-rtmp_1.22.0-1ubuntu3_amd64.deb-程序员宅基地

文章浏览阅读3.7k次,点赞2次,收藏5次。Ubuntu 16.04简易安装Nginx-rtmp-modulelibnginx-mod-rtmp是18.04上自带的,可以通过apt-get install libnginx-mod-rtmp进行安装,在16.04上如果想要安装,直接下载libnginx-mod-rtmp_1.14.0-0+xenial1_amd64.deb安装的话会被告知nginx版本过低,依赖有问题,需要16.04自带的..._libnginx-mod-rtmp_1.22.0-1ubuntu3_amd64.deb

mysql 字符 1024个字符限制 cast转为varchar 不限制字符长度 最大字符长度 group_concat长度限制_mysql 改变输出字符串最大长度-程序员宅基地

文章浏览阅读1.1k次。设置group_concat的最大长度然后再运行。_mysql 改变输出字符串最大长度

使用 Vite 和 Electron 进行开发 - 解决问题与经验分享_electron vite 原生模块处理-程序员宅基地

文章浏览阅读145次。Vite 是一个现代化的前端构建工具,它通过利用 ES 模块原生支持(ES Module)来提供快速的冷启动时间和热模块替换(HMR)能力。Electron 是一个流行的桌面应用程序开发框架,它允许使用 Web 技术(HTML、CSS 和 JavaScript)构建跨平台的桌面应用程序。结合使用 Vite 和 Electron 可以带来许多好处,例如快速的开发周期、模块化的架构和跨平台的能力。然而,在使用这两个工具时,可能会遇到一些挑战和问题。接下来,我们将讨论一些常见的问题,并提供相应的解决方案。_electron vite 原生模块处理

随便推点

centos出现类似-bash: ls: command not found...和-bash: /bin/vi: input/output error的错误_-bash: /usr/libexec/pk-command-not-found: input/ou-程序员宅基地

文章浏览阅读7.5k次。centos出现类似-bash: ls: command not found...和-bash: /bin/vi: input/output error的错误_-bash: /usr/libexec/pk-command-not-found: input/output error

[Flutter翻译]GSoC ‘21:为Flutter创建一个桌面样本_flutter 桌面模板(1)-程序员宅基地

文章浏览阅读815次,点赞16次,收藏29次。两个主要的东西是能够从现有的analysis_options.yaml文件中加载配置文件,以及在规则列表中搜索特定规则的能力。经过与他和组织管理员的讨论,我找到了一个可以工作的项目。经过与Brett和团队的讨论,我们决定建立一个桌面样本,同时也是一个工具,帮助开发者管理他们项目的lint规则。今年,在Flutter Engage上,Flutter的桌面支持的测试版快照被纳入了稳定频道。你可以为不同类型的项目创建不同的规则配置文件。不幸的是,由于导师的不到位,今年的。这个博客显示了我为我的项目所做的工作。

ARC/OC对象自动管理内存_arc oc-程序员宅基地

文章浏览阅读1w次。ARC是一个编译器特征,它提供了对OC对象自动管理内存。ARC让开发者专注于感兴趣的代码和对象的关系,而不用考虑对象的retain和release。转自hherima的博客原文:Transitioning to ARC Release Notes(苹果官方文档) ARC是一个编译器特征,它提供了对OC对象自动管理内存。ARC让开发者专注于感兴趣的代码和对象的关系_arc oc

JAVA设计模式(09):结构型-代理模式(Proxy)_pengzhile 是谁-程序员宅基地

文章浏览阅读5.8k次。代理模式是常用的结构型设计模式之一,当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,所访问的真实对象与代理对象需要实现相同的接口。根据代理模式的使用目的不同,代理模式又可以分为多种类型,例如保护代理、远程代理、虚拟代理、缓冲代理等,它们应用于不同的场合,满足用户的不同需求。1 代理模式概述近年来,代购已逐步成为电_pengzhile 是谁

C语言:结构体,枚举,联合_c语言使用枚举结构体实现计算器程序-程序员宅基地

文章浏览阅读347次。一.结构体类型创建结构体是一些值的集合,这些值称为成员变量。结构体的每一个成员可以是不同类型的变量。结构体的声明struct tag{ member-list;}variable-list;举例: 描述一个学生:struct Stu{ char name[20];//名字 int age;//年龄 char sex[5];//性别 cha..._c语言使用枚举结构体实现计算器程序

【图解UDS】UDS汽车诊断标准协议(ISO 14229)带你入门到精通_uds诊断协议-程序员宅基地

文章浏览阅读8.3w次,点赞285次,收藏1.8k次。【图解UDS】UDS汽车诊断标准协议(ISO 14229)带你入门到精通目录0 前言1 诊断的基本概念2 UDS诊断诊断协议2.1 诊断服务的概念2.2 诊断会话控制0x10服务2.3 会话访问0x27服务2.4 用于读/写的DID的0x22/0x2E服务2.5 故障存储相关的0x19和0x14服务..._uds诊断协议

推荐文章

热门文章

相关标签