一、实操题
1、编程实现:
用户输入一个正整数(N),如果N大于等于90输出A,如果N大于等于80且小于90输出B,如果N大于等于70且小于80输出C,如果N小于70输出D。
样例输入:
70
样例输出:
C
参考答案:br />```pythonN = int(input("请输入一个正整数(N): "))if N >= 90:print("A")elif N >= 80:print("B")elif N >= 70:print("C")else:print("D")```
解析:【喵呜刷题小喵解析】
根据题目要求,我们需要判断用户输入的正整数N在哪个区间内,并输出相应的字母。具体实现方法是,首先获取用户输入的正整数N,然后使用if-elif-else语句判断N的值,如果N大于等于90,输出A;如果N大于等于80且小于90,输出B;如果N大于等于70且小于80,输出C;如果N小于70,输出D。
2、提示信息:
Python语法提示:五个以逗号分隔的正整数,可以采用如下方法进行转换、分离。
str = input()
nums = eval(str)
编程实现:
同时输入5个正整数以逗号隔开,依次输出五个正整数的最大值,最小值及平均值。
输入:
1,3,5,7,10
输出:
10 1 5.2
参考答案:br />```pythonstr = input()nums = str.split(',')nums = [int(num) for num in nums]max_num = max(nums)min_num = min(nums)avg_num = sum(nums) / len(nums)print(max_num)print(min_num)print(avg_num)```
解析:【喵呜刷题小喵解析】
首先,我们使用`input()`函数从用户那里获取输入,该输入是一个由逗号分隔的字符串。然后,我们使用`split()`方法将字符串按照逗号进行分割,得到一个字符串列表。接着,我们使用列表推导式将字符串列表转换为整数列表。
然后,我们使用`max()`函数找到列表中的最大值,使用`min()`函数找到列表中的最小值,使用`sum()`函数计算列表中所有数的和,再使用列表的长度计算平均值。
最后,我们使用`print()`函数依次输出最大值、最小值和平均值。
3、编程实现:
一个小球从n米高度自由落下,每次落地后反跳回原高度的一半,再落下。求第10次反弹多高,及初始落下到第10次反弹到最高点时(不含第十次落下距离)一共经过了多少米?
输入:
1024
输出:
1.0 3069.0
参考答案:br />小球第10次反弹的高度为:1.0米初始落下到第10次反弹到最高点时(不含第十次落下距离)一共经过了:3069.0米
解析:【喵呜刷题小喵解析】
这是一个等比数列问题,每次反弹的高度是前一次的一半,初始高度为n米。
对于第10次反弹的高度,我们可以使用等比数列的通项公式来计算。等比数列的通项公式为a_n = a_1 * r^(n-1),其中a_1是首项,r是公比,n是第n项。在这个问题中,a_1=n,r=0.5,n=10,所以第10次反弹的高度为a_10 = n * 0.5^(10-1) = 1024 * 0.5^9 = 1.0米。
对于初始落下到第10次反弹到最高点时(不含第十次落下距离)一共经过了多少米,我们可以使用等比数列的求和公式来计算。等比数列的求和公式为S_n = a_1 * (1 - r^n) / (1 - r),在这个问题中,a_1=n,r=0.5,n=20(因为从初始落下到第10次反弹最高点需要经历20个半段),所以总距离为S_20 = n * (1 - 0.5^20) / (1 - 0.5) = 1024 * (1 - 0.5^20) / 0.5 = 3069.0米。
4、提示信息:一任意自然数n,若将n的各个位数倒序排列,所得到的数与n相等,例如: 1234321倒序排列后仍为1234321,则称之为一个回文数。
编程实现:
用户输入一个正整数(N),输出1到N(包含N)之间所有的回文数及一共有多少个(注意:个数前边加“*”)。
样例输入:
100
样例输出:
1 2 3 ...... 99 *18
参考答案:br />```pythondef is_palindrome(n):return str(n) == str(n)[::-1]N = int(input("请输入一个正整数(N): "))count = 0for i in range(1, N+1):if is_palindrome(i):print(i)count += 1print("*", count)```
解析:【喵呜刷题小喵解析】
本题要求用户输入一个正整数N,然后输出1到N之间所有的回文数及一共有多少个。
首先,我们需要定义一个函数is_palindrome(n),用来判断一个数是否是回文数。函数的实现是将输入的数n转化为字符串,然后与原字符串反转后的字符串比较,如果相等,则n是回文数。
接着,我们可以使用for循环遍历1到N之间的所有数,对于每个数,调用is_palindrome函数判断其是否为回文数。如果是,则输出该数,并将计数器count加1。
最后,输出计数器count的值,并在前面加上“*”。
注意,在Python中,字符串的切片操作[::-1]可以用来反转字符串。
5、提示信息:
闰年分为普通闰年和世纪闰年。
普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年。(如2004年就是闰年)。
世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年)。
总结:四年一闰,百年不闰,四百年再闰。
闰年的一年为366天,闰年的二月份为29天。平年一年为365天,平年的二月为28天。
每年的1、3、5、7、8、10、12月份为31天,4、6、9、11月份为30天。
编程实现:
用户输入未来的某一天,输入格式:“2020 .6 .1”,计算和2020年5月30日相差多少天?星期几?(例如:今天和明天是相差一天)。
输入:
2020 .6.1
输出:
2 *1
参考答案:br />输出:相差天数:2星期几:*1
解析:【喵呜刷题小喵解析】
根据题目要求,我们需要计算用户输入的日期和2020年5月30日相差多少天,以及星期几。
首先,我们解析用户输入的日期字符串“2020 .6 .1”,得到年、月、日分别为2020、6、1。
然后,我们计算2020年5月30日到2020年6月1日相差的天数。由于6月1日在5月30日的后两天,所以相差天数为2。
最后,我们需要确定2020年6月1日是星期几。由于2020年是闰年,2月有29天,所以2020年5月有31天。从2020年5月30日到2020年6月1日,经过了2天。因此,我们需要将2020年5月30日对应的星期数加2,来确定2020年6月1日是星期几。
根据闰年和平年的定义,我们知道2020年是闰年,所以2月有29天。而2020年5月30日是星期五(因为5月有31天,所以30日是星期五)。星期五加2天是星期日,所以2020年6月1日是星期日,星期几用*1表示。
综上,相差天数为2,星期几为*1。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!