考前综合练习-第五章
1、找出100以内的素数,并输出
类型:循环
描述
输出100以内的素数,素数即除了1和它自身之外不能被其他数整除的数
输入
无
输出
以逗号间隔输出所有素数
示例
(点击编辑器左上角{;}按钮编辑代码框)
输入
输出
1,2,3,5,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,over
代码:
# -*- coding = utf-8 -*-
# @Author:为一道彩虹
if __name__ == '__main__':
# 输出100以内的素数,素数即除了1和它自身之外不能被其他数整除的数
# 因为题目需要输出1
print(1, end=',')
for num in range(2, 100):
for i in range(2, num):
# 如果能整除的数,就不是素数跳出这次循环
if num % i == 0:
break
else:
print(num, end=',')
print('over')
2、回文数判断
类型:分支,函数
描述
回文数即一个3位整数,其中个位与百位数字相同的数即为回文数。请利用函数来判断一个数是否为回文数,完成如下输出:
示例
输入
101
输出
101是回文数
输入
134
输出
134不是回文数
代码:
# -*- coding = utf-8 -*-
# @Author:为一道彩虹
if __name__ == '__main__':
# 回文数即一个3位整数,其中个位与百位数字相同的数即为回文数。请利用函数来判断一个数是否为回文数
# number = eval(input())
# 首先确保输入的是三位数(102, 个位1,百位2)
# print(number // 100) # 百位2
# print(number % 10) # 个位1
# 将百位和个位进行比较
# if number // 100 == number % 10:
# print('{}是回文数'.format(number))
# else:
# print('{}不回文数'.format(number))
# num = str(eval(input()))
# print(f'{num}是回文数' if num == num[::-1] else f'{num}不回文数')
num = input()
if num[0] == num[len(num) - 1]:
print('{}是回文数'.format(num))
else:
print('{}不是回文数'.format(num))
3、判断水仙花数
类型:函数、简单循环
描述
请使用函数完成水仙花的数的判断,水仙花数是指一个三位数,其中各位数字的立方和等于该数字本身。例如,153是一个水仙花数,因为153=111+555+333。
输入
153
输出
153是水仙花数
示例
输入
153
输出
153是水仙花数
输入
222
输出
222不是水仙花数
代码:
# -*- coding = utf-8 -*-
# @Author:为一道彩虹
if __name__ == '__main__':
# 获取用户输入的数据
number = eval(input())
# 获取个位
a = number % 10
# 获取十位
b = number // 10 % 10
# 获取百位
c = number // 100
# 例如,153是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。
numberSum = pow(a, 3) + pow(b, 3) + pow(c, 3)
# 判断其中各位数字的立方和等于该数字本身
if numberSum == number:
print('{}是水仙花数'.format(number))
else:
print('{}不是水仙花数'.format(number))
4、幸运日生成器
类型:自带库、函数、分支
描述
定义一个函数,该函数能够返回随机的年、月、日作为本年度的幸运日期。该函数有获取当前年份的功能,随机生成月份和日期,组合起来作为本年度幸运日期。
输入
无
输出
幸运日期是202年10月10日(不作为样例,只是参考格式)
示例
无
输出
幸运日期是2023年10月10日(举例,不代表结果一定是2023年10月10日)
代码:
# -*- coding = utf-8 -*-
# @Author:为一道彩虹
import time
import random
# 获取幸运日期
def get_luck_date():
# 获取当前年份
current_year = time.localtime().tm_year
# 随机生成月份,确保在1到12之间
lucky_month = random.randint(1, 12)
# 根据月份确定该月的最大天数,确保日期有效
if lucky_month in [1, 3, 5, 7, 8, 10, 12]:
max_day = 31
elif lucky_month in [4, 6, 9, 11]:
max_day = 30
else:
# 二月,需考虑闰年
if (current_year % 4 == 0 and current_year % 100 != 0) or current_year % 400 == 0:
max_day = 29
else:
max_day = 28
# 随机生成日期
lucky_day = random.randint(1, max_day)
return f'幸运日期是{current_year}年{lucky_month}月{lucky_day}日'
if __name__ == '__main__':
print(get_luck_date())
5、猴子吃桃 II
类型:Python 函数和代码复用
请用函数编程实现。
猴子第一天摘下若干个桃子,立即吃了一半,还不过瘾又多吃了一个,第二天将第一天剩下的桃子吃了一半又多吃了一个,以后每天以这个规律吃下去,到第十天再去吃时发现只剩下一个桃子,问猴子第一天摘了多少个桃子?
**示例1:**
输入:无
输出:"
第10天有1只桃子
第9天有4只桃子
第8天有10只桃子
第7天有22只桃子
第6天有46只桃子
第5天有94只桃子
第4天有190只桃子
第3天有382只桃子
第2天有766只桃子
第1天有1534只桃子
"
代码:
# -*- coding = utf-8 -*-
# @Author:为一道彩虹
def peach(n):
# 根据题目,知在第10天,剩余桃数为1
if n == 10:
return 1
else:
# 递归调用
return (peach(n + 1) + 1) * 2
if __name__ == '__main__':
for i in range(10, 0, -1):
print("第{}天有{}只桃子".format(i, peach(i)))
先赞后看,养成习惯!!!^ _ ^ ❤️ ❤️ ❤️
码字不易,大家的支持就是我的坚持下去的动力。点赞后不要忘了关注我哦!