鑫软Python经典案例分析---循环结构与判断结构
问题引入
关于判断与循环问题求解(流程图演示)
问题的解决方式
解决代码
BMI值计算问题
4.1猜数游戏实现代码:
4.2统计不同字符个数。
4.3最大公约数计算
4.4猜数游戏续。
4.5猜数游戏续。
4.6羊车门问题。(经典问题)
这里要说一下羊车门的实现思路:
4.7 猜数改进:
运行测试
4.1测试截图:
4.2测试截图:
4.3测试截图:
4.4测试截图:
4.5测试截图
4.6测试截图:
4.7测试截图
问题引入
一、基本数据类型中的例题:
编写一个根据体重和身高计算BMI值的程序,井同时输出国际和国内的BMI指标建议值。
二、练习题
4.1 判断题: 复杂的程序结构都是由基本结构组合而成。
4.2 判断题: 分支结构可以向已经执行过的语句部分跳转(即向后跳转)。
4.3 下面 是流程图的基本元素的是( )。
A.判断框 B.顺序结构 C.分支结构 D.循环结构
4.4 循环结构可以使用Python 语言中的( ) 语句实现?
A. print B. while C. loop D. if
4.5 判断题:简单分支结构是最基础的程序结构,在设计中一般用不到。
4.6 判断题:多分支结构是使用最广泛的结构,可替代任何选择性结构。
4.7 判断题: Python 语法认为条件x<=y<=z是合法的。
4.8 Python 通过(, )来判断操作是否在分支结构中。-1i
A.括号 B.缩进 C.花括号 D.冒号
4.9 请分析下面的程序, 若输入score为80,输出grade为多少?是否符合逻辑?为什么?
三、程序设计题
4.1 猜数游戏。 在程序中预设一个0-9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“遗憾,太大了”:小于预设的数,显示“遗憾,太小了”,如此循环,直至猜中该数,显示“预测N次, 你猜中了!”,其中N是用户输入数字的次数。
4.2 统计不同字符个数。 用户从键盘输入一行字符,编写“个程序, 统计并输(>= u’"u4e00’出其中英文字符、数字、空格和其他字符的个数。
an从ic=u’\ufas’
4.3 最大公约数计算。 从键盘接收两个整数,编写程序求出这两个整数的最大公约数和最小公倍数(提示:求最大公约数可用辗转相除法,求最小公倍数则用两数的积除以最大公约数即可)。
4.4 猜数游戏续。 改编程序练习题4.1,让计算机能够随机产生一个预设数字,范围在0~100之间,其他游戏规则不变。
4.5 猜数游戏续。 对于程序练习题4.4程序,当用户输入的不是整数(如字母、浮点数等)时,程序会终止执行退出。改编该程序,当用户输入出错时给出“输入内容必须为整数!”的提示,并让用户重新输入。
4.6 羊车门问题。有3扇关闭的门,-扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么。参赛者可以选择一扇门, 在开启它之前, 主持人会开启另外一扇门,露出门后的山羊,然后允许参赛者更换自己的选择。请问:参赛者更换选择后能否增加猜中汽车的机会?-这是一 个经典问题。请使用random库对这个随机事件进行预测,分别输出参赛者改变选择和坚持选择获胜的机率。
4.7 请用异常处理改造实例I,使其能够接收并处理用户的任何输入。
关于判断与循环问题求解(流程图演示)
确定一个输入并且使用递归思想来解决循环问题:
问题的解决方式
(1)使用循环的方法简单计算
(2)使用递归思想纳入到计算中降低复杂度(优化)
解决代码
BMI值计算问题
#第一种方法:使用简单的循环实现
height, weight = eval(input("请输入身高(米)和体重\(公斤)[逗号隔开]: "))
bmi = weight/(pow(height,2))
print("BMI数值为:{:.2f}".format(bmi))
who,dom = "",""
if bmi< 18.5:
who = "偏瘦"
elif bmi < 25:
who = "正常"
elif bmi < 30:
who = "偏胖"
else