算法就是解决问题的步骤。
算法不唯一,但是有优劣。评价维度:时间复杂度,空间复杂度。
表示算法的方式有很多,最主要的一种就是流程图。符号:圆角矩形 —程序的开始/结束
平行四边形–输入或输出
直角矩形–处理步骤(运算,赋值)
菱形—判断(布尔表达式)
流程线
计算机专家发现,不管多么简单或多么复杂的算法都可以由顺序结构,选择结构,循环结构组合而成。
从左往右,从上往下依次执行
写出来的代码都会执行
语法:
if 条件:
代码块
(1)条件:结果只要是布尔值就行,所以也叫布尔表达式。可以是变量,关系表达式,逻辑表达式
bool(变量)–0,0.0,空字符串、空字典,空集合,空列表等返回false,其它都返回true
(2)代码块:可以是赋值,运算,流程结构等
(3)python靠缩进表达代码的层次关系,缩进一般使用tab键
执行顺序: 先判断条件,如果条件为true,则执行代码块。否则不执行代码块
#输入三个数,求最大值
#a b c
#max=a
a = int(input('请输入一个数:'))
b = int(input('请输入一个数:'))
c = int(input('请输入一个数:'))
max = a
if max<b:max=b
if max<c:max=c
print('最大值是',max)
语法:
if 条件:
代码块1
else:
代码块2
执行顺序:先判断条件,条件为true,则执行代码块1,否则执行代码块2
# 模拟以下QQ登录
# 正确的账号:QQ :123456 密码:123
account = input("请输入QQ号:")
pwd = input('请输入密码:')
if account == '123456' and pwd == '123':print('登录成功')
else:print('账号密码不匹配')
简化写法:条件表达式
表达式1 if 条件 else 表达式2
执行顺序:条件为true,表达式的结果就是表达式1,否则整个表达式的结果就是表达式2
1 多重if结构
语法:
if 条件1:
代码块1
elif 条件2:
代码块2
elif 条件3:
代码块3
else:
代码块4
执行顺序:先判断条件1,如果条件1为true,则执行代码块1否则判断条件2,如果条件2为true,则执行代码块2 否则判断条件3,如果条件3为true,则执行代码块3。当条件都不成立,则执行else后的代码
语法:
if 条件1:
if 条件2:
代码块1
else:
代码块3
else:
代码块2
3.switch在python没有
循环结构
循环变量的初始化
while 循环条件:
循环操作
循环变量的更新
特点:先判断,再执行
如果循环条件一开始就不成立,循环操作可能一次都不执行
适合循环次数不固定的情况
# 输出10个*
# 循环操作:输出1个*
# 循环条件:count=1 count<=10count = 11
while count<=10:
print('*')
count+=1
# 输出1-100之间的整数
# 循环操作:输出一个数 print(i)
# 循环条件:i=[1,100]
i = 1
while i<=100:
print(i)
i+=1
# 输出1-100之间的偶数
# 输出100-1之间整数
# 求和1-100
# 循环操作:1+2 +3 +4 +。。。+100 ---> sum+=num --累加求和
# 循环变量 num=[1,100] sum=0 就是存储每一次计算的和
print('--------------')
num = 1
sum = 0
while num<=100:
sum+=num
num+=1
print(f'1-100之间的整数和为{sum}')
for 变量名 in 可迭代对象:
循环操作
特点:循环次数固定,优先for;常用来遍历容器对象
可迭代对象:字符串、range对象
range()函数 可以生成整数序列
range(stop) 生成[0,stop)之间的整数序列,步长是1
range()函数只存储这start,stop,step个变量,节省内存
# 生成[0,10)之间的整数
r = range(10)
print(list(r))
# range(start,stop)---[start,stop) 步长为1
r2 = range(1,10)
print(list(r2))
# range(start,stop,step) ---[start,stop) 步长为step
r3 = range(1,10,2)
print(list(r3))
break:中断指令,也使用在循环中,结束当前所在层的循环
continue:中断指令,也使用在循环中,结束本轮循环
else:和while/for-in搭配使用,不碰到break退出时才会执行到的代码
一个循环嵌套在另一个循环中
外层循环执行一轮,内层循环执行一遍 —>双重循环要执行的次数
# 计算3个班5个学生的平均成绩
# 外层循环控制班数
# 内层循环控制一个班有多少学生
# 外层循环执行一轮,内层循环执行一遍 --->双重循环要执行的次数
j = 1
while j<=3:
print(f'第{j}个班:')
i = 1
sum = 0
while i <= 5:
score = int(input(f'请输入第{i}个学生的成绩:'))
sum += score
i += 1
avg = sum / 5
print(f'平均成绩为{avg}')
j+=1
print()
#1、从键盘输入3个数,求最大值
a=int(input("请输入一个数:"))
b=int(input("请继续输入一个数:"))
c=int(input("请最后再输入一个数:"))
if a>b:max=a
else:max=b
if max<c:max=c
print(max)
#2、买彩票,如果体彩中了500万,我买车、资助希望工程、去欧洲旅游,否则我买下一期体彩,继续烧高香。
# 写程序描述。
lottery=int((input("请输入彩票号:(本期最大奖500万中奖号:1254)")))
if lottery==1254:print("买车、资助希望工程、去欧洲旅游")
else:print("很遗憾本次未中奖,祝您下次好运!")
#3、会员购物时,根据积分的不同享受不同的折扣。计算会员购物时获得的折扣。小于2000打9折,
# 2000-4000打8折,4000-8000打7折,大于8000打6折
integral=int(input("请输入会员积分:"))
if integral<=2000:print("打9折")
elif integral<=4000:print("打8折")
elif integral<=8000:print("打7折")
else:print("打6折")
#4、菜单功能
# 欢迎进入xxx系统
# 1登录
# 2注册
# 3退出
# 请选择:1
# 登录
print("{: ^20}".format("菜单功能"))
print("{: ^20}".format("欢迎进入xxx系统"))
print("{: <20}".format("1登录"))
print("{: <20}".format("2注册"))
print("{: <20}".format("3退出"))
choice=int(input("请选择:"))
if choice==1:print("登录")
elif choice==2:print("注册")
elif choice==3:print("退出")
#5、机票的价格受季节旺季、淡季的影响,头等舱和经济舱价格也不同。假设机票原价5000元,请根据出行的月份和选择的仓位输出实际的机票价格。
# 旺季(4-10月) 头等舱 九折
# 经济舱 八折
# 淡季 头等舱 五折
# 经济舱 四折
month=int(input("请输入您出行的月份(1-12):"))
level=int(input("请输入您选择的机舱:1.头等舱 2.经济舱n"))
if month==4 or 5 or 6 or 7 or 8 or 9 or 10:if level==1:price=5000*0.9else:price=5000*0.8
else:if level==1:price=5000*0.5else:price=5000*0.4
print("您的机票价格为:"+str(price))
#1、求两个数最大公约数
a=int(input("请输入一个数:"))
b=int(input("请输入另一个数:"))
if a>b:min=b
else:min=a
for i in range(1,min+1):if (a%i==0)and(b%i==0):c=i
print(f'最大公约数:{c}')
#2、整数反转:如12345,输出54321
a=int(input("请输入一个整数:"))
print(a[::-1])
#3、1~10之间的整数相加,得到累加值大于20的当前数
sum = 0
for i in range(1,10):sum+=iif(sum>20):break
print(i)
#4、输入从周一至周五每天的学习时间(以小时为单位),并计算每日平均学习时间。
b = ['周一','周二','周三','周四','周五']
sum = 0
for i in range(5):a = int(input(f'{b[i]}的学习时间:'))sum += a
average = sum / 5
print("平均学习时间:",average)
#5、输出10000以下的完全数。如果一个正整数等于除它本身之外其它所有除数之和,就称之为完全数。
# 如6就是第一个完全数,因为6=1+2+3
for i in range(1,10000):sum=0for j in range(1,i):if i%j==0:sum+=jif sum==i:print(i)
#6、用户玩游戏,每次玩5局(效果图如下)
# (1)不足5局则不能晋级
# (2)在5局游戏中,如果80%达到80分以上,为一级,如果 60%达到80分以上为二级,否则不能晋级
count=0
a=int(input(f"您正在进行第1轮游戏,成绩是:"))
for i in range(4):b = input('是否继续游戏?(y or n)')if b == "n":print('您已中途退出游戏')breaka = int(input(f"您正在进行第{i + 2}轮游戏,成绩是:"))if a > 80:count = count + 1
if count >= 4:print('恭喜通过一级')
elif (count >= 3 and count < 4):print("恭喜通过二级")
else:print('您未能晋级')
#7、菜单自动循环,只要不输入3,就循环
# 欢迎进入xxx系统
# 1登录
# 2注册
# 3退出
# 请选择:1
# 登录
a=1
while a:print("{: ^20}".format("菜单功能"))print("{: ^20}".format("欢迎进入xxx系统"))print("{: <20}".format("1登录"))print("{: <20}".format("2注册"))print("{: <20}".format("3退出"))choice=int(input("请选择:"))if choice==1:print("登录")elif choice==2:print("注册")elif choice==3:print("退出")a=0
#8、打印图形
# 1
# 21
# 321
# 4321
# 54321
# 654321
for i in range(1,7):for j in range(i):print(i-j,end='')print()
2021.11.12
本文发布于:2024-02-05 07:44:46,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170727673564621.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |