赞
踩
1、程序的描述方式
(1)自然语言:就是使用人类语言、直接描述程序
(2)流程图:用一系列图形、流程线和文字说明描述程序的基本操作和控制流程,主要适用于较短的算法
(3)伪代码:是介于自然语言与编程语言之间的一种算法描述语言,如果程序比较小,可以直接使用代码描述
2、程序的组织结构
顺序结构、选择结构(分支结构)、循环结构
3、顺序结构
按程序语句的自然顺序,从上到下、依次执行每条语句的程序
- # 赋值运算符的顺序 从右到左
- name='张三'
- age=20
- a=b=c=d=100 # 链式赋值
- a,b,c,d='room' # 字符串分解赋值
- print(a)
- print(b)
- print(c)
- print(d)
- print('----------输入/输出语句也是典型的顺序结构---------')
- name=input('请输入您的姓名')
- age=eval(input('请输入您的年龄'))
- luck_number=eval(input('请输入您的幸运数字'))
- print('姓名:',name)
- print('年龄:',age)
- print('幸运数字:',luck_number)
3、选择结构
选择结构也称分支结构,是按照条件选择执行不同的代码段
(1)单分支结构
- number=eval(input('请输入您的6位中奖号码:'))
- # 使用if语句
- if number==987654: # 等值判断
- print('恭喜您,中奖了!')
-
- if number!=987654:
- print('您未中本期大奖')
-
- print('------以上if判断的表达式,是通过比较运算符计算出来的,结果是布尔值类型------')
- n=98 # 赋值操作
- if n%2: # 98%2的余数是0,0的布尔值是False,非0的布尔值是True
- print(n,'是奇数') # 由于98%2的余数是0,所以该行代码不执行
-
- if not n%2: # 98%2的余数是0,0的布尔值是False,not False的布尔值是True
- print(n,'是偶数')
-
- print('-------判断一个字符串是否是空字符串--------')
- x=input('请输入一个字符串:')
- if x: #python中一切皆对象,每个对象都有一个布尔值,非空字符串的布尔值为True,空字符串的布尔值为False
- print('x是一个非空字符串')
-
- if not x: # 空字符串的布尔值为False,取反,not False的结果是True
- print('x是一个空字符串')
-
- print('------表达式也可以是一个单纯的布尔型变量------')
- flag=eval(input('请输入一个布尔类型的值:True或False'))
- if flag:
- print('flag的值为True')
- if not flag:
- print('flag的值为False')
-
- print('------使用if语句时,如果语句中只有一句代码,可以将语句块直接写在冒号的后面------')
- a=10
- b=5
- if a>b:max=a # 语句块只有一句,赋最大值
- print('a和b的最大值为:',max)
-
(2)双分支结构
- number=eval(input('请输入您的6位中奖号码:'))
- # if...else
- if number==987654:
- print('恭喜您中奖了!')
- else:
- print('您未中本期大奖')
-
-
- print('------以上代码可以使用条件表达式进行简化------')
-
-
- result='恭喜您中奖了!' if number==987654 else '您未中本期大奖!'
- print(result)
-
- print('恭喜您中奖了!' if number==987654 else '您未中本期大奖!')
'运行
(3)多分支结构
- score=eval(input('请输入您的成绩:'))
- # 多分支结构
- if score<0 or score>100:
- print('您输入的成绩有误')
- if 90<score<=100:
- print('A')
- elif 80<score<=90:
- print('B')
- elif 70<score<=80:
- print('C')
- elif 60<score<=70:
- print('D')
- else:
- print('E')
'运行
(4)嵌套if的使用
单分支结构、双分支结构、多分支结构在实际开发过程中是可以互相嵌套使用的,内层的分支结构将作为外层分支结构的语句块使用
- answer=input('请问您喝酒了吗?')
- if answer=='y': # answer的值为y表示喝酒了
- proot=eval(input('请输入您的酒驾含量:'))
- if proot<20:
- print('构不成酒驾,祝您一路平安!')
- elif proot<80:
- print('已构成酒驾,请不要开车')
- else:
- print('已达到醉驾标准,请千万不要开车')
- else:
- print('您走吧!')
'运行
(5)在使用and连接多个条件判断时,只有同时满足多个条件,才能执行if后面的语句块
- user_name=input('请输入您的用户名:')
- pwd=input('请输入您的密码:')
- if user_name=='wsx' and pwd=='888888':
- print('登录成功')
- else:
- print('用户名或密码不正确')
-
(6)在使用or连接多个条件判断时,只要满足多个条件中的一个,就能执行if后面的语句块
- score=eval(input('请输入您的成绩:'))
- if score<0 or score>100:
- print('您输入的成绩有误,请重新输入')
- else:
- print('您的成绩为:',score)
'运行
(7)新特性-模式匹配match…case…结构
- score=input('请输入您的成绩等级:')
- match score:
- case 'A':
- print('优秀')
- case 'B':
- print('良好')
- case 'C':
- print('中等')
- case 'D':
- print('及格')
- case 'E':
- print('不及格')
'运行
4、循环结构
在Python循环结构分两类,一类是遍历循环结构for,一类是无限循环结构while
(1)遍历循环结构for
- for i in 'hello':
- print(i)
-
- # range()函数,Python中的内置函数,产生一个[n,m)的整数序列,包含n,但是不包含m
- for i in range(1,19):
- if i%2==0:
- print(i,'是偶数')
-
- # 计算1-10之间的累加和
- s=0 # 用于存储累加和
- for i in range(i,11):
- s+=i # 相当于 s=s+i
- print('1-10之间的累加和为:',s)
-
-
- print('----------100到999之间的水仙花数---')
- '''
- 153=3*3*3+5*5*5+1*1*1
- '''
- for i in range(1,1000):
- sd=i%10 # 获取个位上的数字
- tens=i//10%10 # 获取十位上的数字
- hundred=i//100 # 获取百位上的数字
- if i==sd**3+tens**3+hundred**3:
- print(i)
'运行
遍历循环的扩展形式
- s=0
- for i in range(1,11):
- s+=i
- else:
- print(s)
'运行
(2)无限循环结构while
- # (1)初始化变量
- answer=input('今天要上课吗?y/n')
- while answer=='y': #(2)条件判断
- print('好好学习,天天向上') # (3)语句块
- # (4)改变变量
- answer=input('今天要上课吗?y/n')
-
-
- # 1-100之间的累加和
- s=0 # 存储累加和
- i=1 # (1)初始化变量
- while i<=100: #(2)条件判断
- # (3)语句块
- s+=i
- # (4)改变变量
- i+=1
- print('1-100之间的累加和:',s)
'运行
无限循环的扩展形式
- # 1-100之间的累加和
- s=0 # 存储累加和
- i=1 # (1)初始化变量
- while i<=100:
- s+=i # (3)语句块
- # (4)改变变量
- i+=1
- else:
- print('1-100之间的累加和:',s)
'运行
例1:使用无限循环模拟用户登陆
- # (1)初始化变量
- i=0
- while i<3: #判断条件
- #(3)语句块
- name=input('请输入您的用户名:')
- pwd=input('请输入您的密码:')
- if name=='qwer' and pwd=='1234':
- print('登录chengg')
- i=8 #(4)改变变量
- else:
- if i<2:
- print('用户名或密码不正确,您还有',2-i,'次机会')
- i+=1 #相当于i=i+1 # (4)改变变量
- # 单分支的判断
- if i==3: # 当用户名或密码输入三次不正确的时候,循环执行结束了,i的最大值为3
- print('对不起,三次均输入错误')
例2:打印长方形和直角三角形
- # 打印一个三行四列的长方形
- for i in range(1,4):
- for j in range(1,5):
- print('*',end='')
- print() # 空的print语句,作用是换行
-
- # 打印一个5x5的直角三角形
- for i in range(1,6):
- for j in range(1,i+1):
- print('*',end='')
- print() # 空的print语句,作用是换行
'运行
例3:打印倒三角形和等腰三角形
- # 打印一个5x5的倒直角三角形
- for i in range(1,6):
- for j in range(1,7-i):
- print('*',end='')
- print() # 内层循环执行完毕之后,空print()换行
-
- # 打印一个5行的等腰三角形
- for i in range(1,6):
- for j in range(1,6-i):
- print(end='')
- for
5、程序跳转语句
(1)break:用于跳(退)出循环,通常与if一起搭配使用
例:跳转语句break在while循环中的使用
- s=0 # 存储累加和
- i=1 #(1)初始化变量
- while i<11: #(2)条件判断
- # (3)语句块
- s+=i
- if s>20:
- print('累加和大于20的当前数是:',i)
- break
- i+=1 # (4)改变变量
-
- print('--------------------------')
- i=0 # 统计登录的次数 (1)初始化变量
- while i<3: #(2)条件判断
- # (3)语句块
- user_name=input('请输入用户名:')
- pwd=input('请输入密码:')
- if user_name=='ysj' and pwd=='888888':
- print('系统正在登录,请稍后...')
- break
- else:
- if i<2:
- print('用户名或密码不正确,您还有',2-i,'次机会')
- # (4)改变变量
- i+=1
- else: # while...else
- print('三次均输入错误!')
例:跳转语句break在for循环中的使用
- for i in 'hello':
- if i=='e':
- break
- print(i)
- print('------------------------')
- for i in range(3):
- # (3)语句块
- user_name = input('请输入用户名:')
- pwd = input('请输入密码:')
- if user_name == 'ysj' and pwd == '888888':
- print('系统正在登录,请稍后...')
- break
- else:
- if i < 2:
- print('用户名或密码不正确,您还有', 2 - i, '次机会')
- else: # for...else
- print('三次均输入错误!')
(2)continue:用于跳过本次循环的后续代码,而继续执行下一次循环操作
例:跳转语句continue在while中的使用
- s=0
- i=1 #(1)初始化变量
- while i <=100: #(2)条件判断
- # (3)语句块
- if i%2==1: # 奇数
- i+=1
- continue # 不再执行后面的代码了
- # 累加求和的代码
- s+=i
- i+=1
- print('1-100之间的偶数和:',s)
'运行
例:跳转语句continue在for中的使用
- s=0
- for i in range(1,101):
- if i%2==1:
- continue
- # 累加求和的代码
- s+=i
- print('1-100之间的偶数和是:',s)
'运行
6、pass
pass是Python中的保留字,在语法结构中只起到占位符作用,使语法结构完整,不报错,一般可用在if、for、while、函数的定义、类的定义中
例:空语句pass
- if True:
- pass
-
- while True:
- pass
-
- for i in range(10):
- pass
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。