程序控制结构

三大结构

  • 顺序
  • 选择
  • 循环


一、顺序结构

1.print()输出函数

print()函数的作用是向终端(或系统隐性指定的输出设备)输出若干个任意类型的数据。

【语法格式1】  print(输出项 1[,输出项 2[,…]]

【语法格式2】 print(输出项 1[,输出项 2[,…], end = '其他字符']

注意事项:

  • 输出字符信息,函数中带引号的字符串直接输出;
  • 输出变量的值,在函数中写上变量名;
  • 输出表达式的值,函数中书写的表达式;
  • 输出多个内容,用“,”隔开多个内容。

【例】 给变量 x 和 y 分别赋值,分别使用加法、减法、乘法和除法编写四个表达式, 计算结果直接使用 print 语句输出。

【程序代码】

x = 5 
y = 8 
print(x+y) 
print(x*y,x/y) 
print(x, '-', y,'=', x-y)

end 关键字

        关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符

# Fibonacci series: 斐波纳契数列
# 两个元素的总和确定了下一个数
a, b = 0, 1
while b < 1000:
    print(b, end=',')
    a, b = b, a+b

执行以上程序,输出结果为:

1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,

2.input()输入函数

        通过它能够完成从键盘获取数据,然后保存到指定的变量中。 input获取的数据,都以字符串的方式进行保存,即使输入的是数字,那么也是以字符串方式保存。

【语法格式】 <变量> = input(<提示性文字>)


3.eval()函数

        eval(<字符串>)函数是Python语言中一个十分重要的函数,它能够以Python表达式的方式解析并执行字符串,将返回结果输出。


 4.练习

学习了顺序结构,做一下练习巩固一下吧。

【课堂练习1】汇率兑换程序。编写一个人民币与输入币种的兑换程序,根据用户输入的币种、汇率和待兑换人民币数量,实现人民币到其他币种的兑换。

 代码如下:

name=input('请输入你要兑换的币种名称:')
rate=eval(input('请输入兑换汇率:'))
num=eval(input('请输入你可兑换的人民币的数量:'))
print('{}元人民币可兑换{:.2f}{}'.format(num,num/rate,name))

【课堂练习2】天天向上:一年365天,以第一天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高1%,当没有学习时能力值相比前一天下降1%。每天努力(dayup)和每天放任(daydown),一年下来的能力值相差多少呢?


二、选择结构

        在Python语句是通过一条或多条语句的执行结果(True 或者 False)来决定将要执行的代码块。可以分为单分支、双分支和多分支三种结构。

 1、单条件(分支)结构的语法

语法:

注意:不要忘记冒号(:)

【课堂练习】编写代码,输入学生成绩score,如果score大于90,则输出“你是学霸!”。在选择语句结束后输出“请继续努力学习!”

2、双条件(分支)结构的语法

功能:根据给定的条件成立与否,而决定从各种不同的解决方案中选择某一个方案来执行。

 语法:


【课堂练习1】编写程序,判断车辆速度,如果超过80,给出“超速通过”提示,否则给出 “正常通过”提示。

【课堂练习2】小明想起数学课上的分段函数:输入一个整数 x ,求  y  的值,

 小明觉得这个也可以用  If  语句来求解。

import math

x = eval(input('请输入一个整数x:'))
if x >= 0:
    y = math.sqrt(x)
else:
    y = abs(x) + 10
print('y的值为{:.2f}'.format(y))

【课堂练习3】小明的姐姐在假日旅行社工作,旅行社为了争取更多的游客,给出优惠措施:团购五人(及以上),团费8折。姐姐请小明帮忙,做一个可以根据输入的人数和团费,计算实际支付团费的程序。小明该怎么写这个程序呢?

num = eval(input("请输入人数:"))
fe = eval(input("请输入团费:"))
if num >= 5:
    cost = num * fe * 0.8
else:
    cost = num * fe
print("团费为:{}".format(cost))

【课堂练习4】小明所在的班级正在评选优秀生,要求是高等数学、英语、Python语言三门课总分在240以上,并且至少有一门在90分以上。编写程序,根据输入分数判断是否是优秀生。

math = eval(input("请输入高等数学成绩:"))
english = eval(input("请输入英语成绩:"))
python = eval(input("请输入Python语言成绩:"))

if math + english + python > 240:
    flag = 0
    for i in [math, english, python]:
        if i > 90:
            flag = 1
            break
    if flag == 1:
        print("该生为优等生!")
    else:
        print("该生不是优等生!")
else:
    print("该生不是优等生!")

【课堂练习5】小明学习交规时了解到,车辆超速情况不同,处罚是不同的,针对不同限速路段,也有不同的超速处罚规定。例如,在限制速度为 50km/h 的道路上,规定如下。

① 时速超过限制速度 10%不到 20%的,处 50 元罚款。

② 时速超过限制速度 20%不到 50%的,处 100 元罚款。

③ 时速超过限制速度 50%不到 70%的,处 300 元罚款。

④ 时速超过限制速度 70%的,处 500 元罚款。

小明想根据车辆速度和当前路段的限速情况来判定车辆处罚情况,代码应该如何编写呢?

speed = eval(input("请输入车辆时速:"))
limit_speed = 50

rate = (speed * 1.0 - limit_speed) / limit_speed
if rate <= 0.1:
    print("不进行处罚!")
elif 0.1 < rate < 0.2:
    print("处50元罚款")
elif 0.2 <= rate < 0.5:
    print("处100元罚款")
elif 0.5 <= rate < 0.7:
    print("处300元罚款")
elif rate >= 0.7:
    print("处500元罚款")

3、多条件结构的语法

功能:根据给定的条件成立与否,而决定从多个解决方案中选择某一个方案来执行。

 语法:

 


【课堂练习1】小明的姐姐在假日旅行社工作,旅行社为了争取更多的游客,给出优惠措施:

  • 团购5人以上(含5人),旅游费用8折;
  • 如果在淡季出行(3、6、9、11月),旅游费用8折;
  • 同时符合上述条件,旅行费用享折上折。

姐姐请小明帮忙编写程序,根据顾客人数和出行月份计算折扣信息。


 【课堂练习2】角度和弧度的转换:

角的度量单位通常有两种,一种是角度制,另一种就是弧度制。在角度制中,我们把周角的1/360看作1度。 弧度制,顾名思义,就是用弧的长度来度量角的大小的方法。单位弧度定义为圆周上长度等于半径的圆弧与圆心构成的角。      

角度值和弧度值的公式为:

角度=180°×弧度÷π    

弧度=角度×π÷180°


【课堂练习3】公用电话收费标准如下:通话时间在3分钟以内,收费0.5元;3分钟以上,则每超过1分钟加收0.15元。编写程序,计算某人通话S分钟,应缴多少电话费。

"""
describe:公用电话收费标准如下:
    通话时间在3分钟以内,收费0.5元;
    3分钟以上,则每超过1分钟加收0.15元。
编写程序,计算某人通话S分钟,应缴多少电话费。
"""
S = eval(input("请输入通话时间:"))
cost = 0
if 0 < S <= 3:
    cost = 0.5
elif S > 3:
    cost = 0.5 + 0.15 * (S - 3)
else:
    print("请重新输入数据!")
    exit()
# print(f"应缴{cost:.2f}元电话费。")
print("应缴{:.2f}元电话费。".format(cost))

【课堂练习4】铁路运货的费用与路程s远近有关:不足50公里,每吨每公里1.00元;>=50公里,<100公里,每吨每公里0.90元;>=100公里,<200公里,每吨每公里0.80元;>=200公里,每吨每公里0.70元。计算运货w吨,路程s公里的运费。

"""
describe:铁路运货的费用与路程s远近有关:
    不足50公里,每吨每公里1.00元;
    >=50公里,<100公里,每吨每公里0.90元;
    >=100公里,<200公里,每吨每公里0.80元;
    >=200公里,每吨每公里0.70元。
计算运货w吨,路程s公里的运费。
"""
w = eval(input("请输入货物吨数:"))
s = eval(input("请输入路程公里数:"))
if w > 0 and s > 0:  # 判断数据
    cost = 0  # 费用
    if 0 < s < 50:
        cost = w * s * 1.00
    elif 50 <= s < 100:
        cost = w * s * 0.90
    elif 100 <= s < 200:
        cost = w * s * 0.80
    elif s >= 200:
        cost = w * s * 0.70
else:
    print("请重新输入数据!")

三、循环结构

        按照一定条件控制重复执行某段程序或某些语句的处理方法。

1.循环结构的构造

(1)循环结构—“三个要素

  • 设计循环体。需要被重复执行的语句放入循环体中。
  • 设置循环条件。在这里控制循环条件的变量我们称之为循环变量。
  • 初始化。对循环中要使用的变量赋初值。

(2)循环结构—“一个要求”

循环变量必须在循环过程中发生变化。

(3)循环结构—“一个关系”

 找循环体中变化的量与循环变量的关系来确定这个变化的量。

2.while循环

①语句格式:

while <循环条件>:
    语句组

②语句功能:    

当条件成立(为True)时,执行循环体的操作;当条件不成立(为False)时,退出循环。

3.for循环

①语句格式:

 ②语句功能:    

当循环变量的值在遍历范围内时,执行循环体的操作;否则,退出循环。

 range()函数

语法:

range(start, stop, step)

参数名称说明备注
start计数起始位置整数参数,可省略。省略时默认从0开始计数
stop计数终点位置不可省略的整数参数。计数迭代的序列中不包含stop
step步长可省略的整数参数,默认时步长为1
  • range(end) 生成0~end之间的整数,不包括end
  • range(start,end)生成start~end之间的整数,不包含end
  • range(start,end,step)生成start~end之间的整数,不包含end,并且每隔step个数字生成一个数字

4.循环的扩展模式

循环正常结束:是指循环完毕结束,而不是在循环过程中强行退出。

对于for循环,就是遍历结构内的项目都遍历完了;对于while循环,就是达到while后面的条件了

 根据这一点,可以理解break和continue的区别

 5. 循环控制保留字:break、continue

break

continue

【课堂练习】有一张足够大的纸,其厚度为0.1毫米,请问,将它对折多少次之后,其厚度将超过珠穆朗玛峰(珠穆朗玛峰的高度为8848.68米)? 


学完的小伙伴可以做些题巩固一下:

【Python三大结构练习1】_W_chuanqi的博客-CSDN博客

【Python三大结构练习2】_W_chuanqi的博客-CSDN博客

【Python三大结构练习3】_W_chuanqi的博客-CSDN博客

【Python三大结构练习4】_W_chuanqi的博客-CSDN博客

【Python打印图形问题】利用print打印一些规则的图形(通过特殊符号比如*和空格组成)_W_chuanqi的博客-CSDN博客_python输出规则图形

 【Python数列、数列和问题】_W_chuanqi的博客-CSDN博客


  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

W_chuanqi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值