4.8 练习与作业
if语句练习
输入三个整数 x,y,z,请把这三个数由小到大输出。
输入一个 5 位数,判断它是不是回文数。即 12321 是回文数,个位与万位相同,十位与千位相同。
输入一元二次方程 ax**2+bx+c=0 的 a,b,c,求两个根,如果判别式为负数给出error,如果判别式不为负数给出两个根(大的在前),保留两位小数。
四舍五入,输入一个 4 位以上的正整数,根据十位四舍五入到百位。
例如:输入:3456,输出:3500
从键盘输入一个年份,判断此年份是闰年还是平年。
例如:1987:平年;1984:闰年;1900:平年;2000:闰年
人机猜拳游戏,输入一个数字 0,1,2 代表剪刀石头布,使用随机数模块让程序也出一个数字,对人机猜拳进行结果判断。
用到的模块:random,使用方法为:import random,然后在程序中使用random.randint(0, 2),生成随机数:0,1,2
输入三个数值作为三角形的三条边,确定这个三角形的特性。
例如输入:1,2,3,则不是三角形;输入:3,3,4,则是等腰三角形;输入:4,4,4,则是等边三角形;输入:3,4,5,则是直角三角形;除此以外,则是普通三角形。
企业发放的奖金根据利润提成。利润(profit)低于或等于10万元时,奖金(bonus)可提10%;利润高于10万元,低于或等于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时,高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润profit,求应发放奖金总数。
循环语句练习
给定一个正整数,反转输出。例如输入:3568,输出:8653。提示:print函数中使用
end='',可以使输出不换行。打印出所有的“水仙花数” ,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如: 153 是一个“水仙花数” ,因为 153 = 1的三次方 + 5的三次方 + 3的三次方。
一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 n 次落地时,共经过多少米?第 n 次反弹多高?输入 n,得出这两个值。
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半多一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第 n 天早上剩下多少。
求PI值,PI/4 = 1 - 1/3 + 1/5 - 1/7 + ...,精确到小数点后第 6 位。
输入 20 个整数,统计其中正数、负数和零的个数。
打印九九乘法表。
百钱买百鸡问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一,百钱买百鸡,问鸡翁、母、雏各几何?
已知 XYZ + YZZ = 532,其中,X、Y、Z 为数字,编程求出 X、Y 和 Z 的值。
验证 10000 以内的“角谷猜想”:对任意自然数,若是奇数,就对它乘以 3 再加 1;若是偶数,就对它除以 2,这样得到一个新数,再按上述计算规则进行计算,一直进行下去,最终必然得到 4-2-1 的循环。
使用嵌套循环,打印平行四边形,输入平行四边形的底和高。例如:
请输入平行四边形的底:6 请输入平行四边形的高:3 * * * * * * * * * * * * * * * * * *使用嵌套循环,打印直角三角形,底和高相等。输入直角三角形的底。例如:
请输入直角三角形的底:4 * * * * * * * * * *使用循环,打印菱形,对角线相等。输入菱形的对角线(奇数)。例如:
请输入菱形的对角线(奇数):5 * * * * * * * * * * * * *使用循环打印钻石图形,对角线相等且为奇数,即用 * 包含空白的菱形。
请输入钻石对角线长度: 9 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
综合练习
给定一个正整数,判断是否是素数,素数是一个只能被 1 和自身整除的正整数。
将给定的一个正整数分解质因数,例如输入 90,输出 90=2*3*3*5。
输入数字n(n>2),输出斐波那契数列前n个数。斐波那契数列数列从第三个数开始,后面的数等于前面两个数相加:0,1,1,2,3,5,8
找出 10000 以内的完全数,完全数是除了自身之外,所有的因数相加等于自身。例如 6 的因数有1,2,3,6,除去 6 之外,6=1+2+3。
用循环改进猜拳游戏,输入 0,1,2 的时候,游戏反复进行;输入 3 的时候,游戏结束;输入其它数值,提示输入错误,请重新开始。
改进循环登录操作,用户名或密码累计输入错误三次,则结束循环。
一个正整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,求这个整数(一个即可)。
求两个数的最大公约数,欧几里德算法(辗转相除法),假如需要求 24 和 16 两个正整数的最大公约数,是这样进行的:求第一个数 24 对第二个数 16 的余数 8,当余数不为 0 时,将第二个数 16 作为第一个数,将余数 8 作为第二个数,再求余数,直到余数为 0,则第二个数为这两个数的最大公约数。
体操评分,依次输入 10 名评委所评分数,去除一个最高分和一个最低分,再算出平均分作为选手的得分。
编写一个帮助小学生学习加法的程序,一共 10 道题每题 10 分,随机产生 2 个 10 以内的数,让学生输入答案,判断是否正确,得出评分。
根据输入宽度打印田字格:
请输入宽度:11 + - - - - + - - - - + | | | | | | | | | | | | + - - - - + - - - - + | | | | | | | | | | | | + - - - - + - - - - +