流程控制
1.顺序结构2.选择语句3.for循环
练习 4.while循环
练习
流程控制 1.顺序结构按先后顺序自上而下依次执行代码
import math
# 输入三条边长
a = int(input("请输入边长a:"))
b = int(input("请输入边长b:"))
c = int(input("请输入边长c:"))
# 计算半边长
p = (a+b+c)/2
# 计算面积
# sqrt函数 => 开平方
s = math.sqrt(p*(p-a)*(p-b)*(p-c))
print("三角形的面积是:", s)
2.选择语句
求三角形面积
import math
# 输入三条边长
a = int(input("请输入边长a:"))
b = int(input("请输入边长b:"))
c = int(input("请输入边长c:"))
if a>0 and b>0 and c>0:
# 所有边长都大于0才做计算
if a+b>c and b+c>a and a+c>b:
# 计算半边长
p = (a+b+c)/2
# 计算面积
# sqrt函数 => 开平方
s = math.sqrt(p*(p-a)*(p-b)*(p-c))
print("三角形的面积是:", s)
else:
print("存在两边之和不大于第三边")
else:
# 条件不成立,执行这个部分
print("输入的边长存在小于等于0的数据")
import math
# 输入三条边长
a = int(input("请输入边长a:"))
b = int(input("请输入边长b:"))
c = int(input("请输入边长c:"))
# if...elif...else
if a<=0 or b<=0 or c<=0:
print("输入的边长存在小于等于0的数据")
elif a+b>c and b+c>a and a+c>b:
# 计算半边长
p = (a+b+c)/2
# 计算面积
# sqrt函数 => 开平方
s = math.sqrt(p*(p-a)*(p-b)*(p-c))
print("三角形的面积是:", s)
else:
print("存在两边之和不大于第三边")
if的三元运算
# 输入一个学生的成绩,判断“合格、不合格"
score = int(input("请输入成绩"))
if score >= 60:
result = "合格"
else:
result = "不合格"
print(result)
# 上述语句等效于:
score = int(input("请输入成绩"))
result = "合格" if score >=60 else "不合格"
print(result)
3.for循环
练习
让用户输入一个字符串,分别取出每个字符,如果为大写输出1,如果为小写输出0,如,用户输入”aBc”则输出”010”
mystr = input("请输入一个字符串:")
for item in mystr:
if item.isupper():
print(1, end="")
else:
print(0, end="")
用户登录:登录成功/失败都给予提示,最多可尝试3次密码
# range(3) => 0, 1, 2 => 控制循环次数
for i in range(3):
username = input("请输入用户名:")
password = input("请输入密码:")
if username == "root" and password == "123456":
print("登录成功")
# break => 退出循环
break
else:
print("登录失败")
猜数字:在程序内定义一个数字,让用户猜,检查用户输入的是否为数字,键盘接收用户输入,猜对或猜错都给出提示(大/小),最多能猜3次,给出用户最终猜的结果,及花了几次来猜
number = 80
for i in range(3):
guest_num = input("请输入你猜的数字:")
if guest_num.isdigit():
guest_num=int(guest_num)
if guest_numnumber:
print(f"猜的数字太大啦~,还有{2-i}次机会哦")
else:
print("太棒啦!猜对啦!!")
print(f"你猜的结果是{guest_num},共花了{i+1}次机会")
break
else:
print(f"输入的不是数字,请重新输入,还有{2-i}次机会")
print("您的机会用完啦,欢迎下次再试~")
4.while循环
练习
用户登录:
i = 0
while i<3:
i+=1
username = input("请输入您的用户名:")
passwd = input("请输入您的密码:")
if username!='root' or passwd!='123456':
print(f"您的用户名或密码错误,请重新登录,您还有{3-i}次机会")
else:
print("恭喜您,登录成功")
break
else:
print("登陆失败,明天再试")
money = int(input("请输入你的本金:"))
target_money = int(input("请输入你的目标金额:"))
i = 0
while True:
if money
money = 10000
target = 20000
i = 0
while money < target:
# 继续存着
# i => 第i年
i += 1
t = money*0.05*1
print(f"第{i}年,本息和为:",t+money,"元")
money = money+t
print(f"需要存{i}年")
10000
target = 20000
i = 0
while money < target:
# 继续存着
# i => 第i年
i += 1
t = money*0.05*1
print(f"第{i}年,本息和为:",t+money,"元")
money = money+t
print(f"需要存{i}年")



