【程序控制结构】

三大结构

  • 顺序
  • 选择
  • 循环

【程序控制结构】_第1张图片


一、顺序结构

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表达式的方式解析并执行字符串,将返回结果输出。

【程序控制结构】_第2张图片


 4.练习

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

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

【程序控制结构】_第3张图片

 代码如下:

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

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

【程序控制结构】_第4张图片


二、选择结构

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

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

语法:

【程序控制结构】_第5张图片

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

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

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

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

【程序控制结构】_第6张图片

 语法:

【程序控制结构】_第7张图片


【课堂练习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分以上。编写程序,根据输入分数判断是否是优秀生。

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

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

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

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

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

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

3、多条件结构的语法

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

【程序控制结构】_第8张图片

 语法:

 【程序控制结构】_第9张图片


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

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

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


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

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

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

角度=180°×弧度÷π    

弧度=角度×π÷180°


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


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


三、循环结构

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

1.循环结构的构造

【程序控制结构】_第10张图片

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

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

【程序控制结构】_第11张图片

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

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

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

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

2.while循环

①语句格式:

【程序控制结构】_第12张图片

②语句功能:    

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

3.for循环

①语句格式:

【程序控制结构】_第13张图片

 ②语句功能:    

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

 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.循环的扩展模式

【程序控制结构】_第14张图片【程序控制结构】_第15张图片

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

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

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

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

break

【程序控制结构】_第16张图片

continue

【程序控制结构】_第17张图片

【课堂练习】有一张足够大的纸,其厚度为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博客


【程序控制结构】_第18张图片

你可能感兴趣的:(Python,python)