python流程控制
顺序结构
该结构代码逐行顺序执行:
练习:
例1:输入一个十进制数,转换为二进制、八进制、十六进制数
ans = int(input("请输入十进制数 "))
print(f"二进制:{bin(ans)}")
print(f"八进制:{oct(ans)}")
print(f"十六进制:{hex(ans)}")
print(f"ascii码转换 十进制对应字符{chr(ans)}")
例2:输入一个华氏温度,要求输出摄氏温度,公式为;C=5/9*(F-32)
pendingData = float(input("请输入华氏温度"))
ans=5/9*(pendingData-32)
print(f"华氏温度:{pendingData:.2f} 摄氏温度:{ans:.2f}")
其中.2f是格式化输出的方式在{}内还有许多格式:比如{:0>2}意思是总共占两位 左对齐右侧0补全
选择结构:
在其它语言中存在switch语句 而在python中只有if else语句可以实现选择结构 或者利用字典实现类似Switch的效果
1.小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:
- 低于18.5:过轻
- 18.5-25:正常
- 25-28:过重
- 28-32:肥胖
- 高于32:严重肥胖
xioaming={"weight":80.5,"height":1.75}
BMI=xioaming["weight"]/(xioaming["height"]**2)
print(BMI)
if BMI<=18.5:
print("过轻")
elif BMI<=25:
print("正常")
elif BMI<=28:
print("过重")
elif BMI<=32:
print("肥胖")
else:
print("严重肥胖")
2.输入一个月,判断季节(让用户输入一个月份,判断这个月是哪个季节?假定3到4月是春季,5到8月是夏季,9到10是秋季,11、12、1、2月是冬季)
month=int(input("请输入一个月份 判断季节"))
while month<0 or month>12:
month=int(input("月份!!!"))
if month>=11 or month<=2:
print('冬季')
elif month<=4:
print('春季')
elif month<=8:
print('夏季')
elif month<=10:
print('秋季')
else:
print('异常')
循环结构
存在for循环 while循环两种
1.猜谜小游戏
while choice=='y':
inde=random.randrange(len(ans))
ansstr=ans[inde]
#打乱字符串
hestr=ansstr
i=0
while ansstr == hestr or i<5:
heindex=random.randrange(len(ansstr))
hestr=hestr[heindex:]+hestr[:heindex]
i+=1
ychoice=""
print(f"{hestr}是打乱后的字符 请猜谜")
while ychoice!="y":
yans = input()
if yans == ansstr:
print("你真厉害")
break
else:
ychoice=input("猜不对吧 要不放弃 输入y来放弃")
choice=input("是否继续猜谜 输入y以继续:")
2.计算a+aa+aaa+a…a前6项之和(a=2)
利用字符串乘的性质,利用int将字符串转化为整数
a=input("请输入a来计算")
ans=0
for i in range(1,7):
sum=int(a*i)
ans+=sum
print(ans)
3.打印九九乘法表
for i in range(1,10):
j=1
while j<=i:
print(f" {i}*{j}={i*j:<2} ",end="")
j+=1
print()