考前综合练习-第四章
1、判断是否为闰年
类型:分支
描述
输入一个4位整数,判断其是否为闰年(能被4整除,但不能被100整除,或者能被400整除的年份为闰年)
输入
输入一个4位整数
输出
判断年份是否为闰年的结论
示例
(点击编辑器左上角{;}按钮编辑代码框)
输入
2004
输出
2004年是闰年
代码:
# -*- coding = utf-8 -*-
# @Author:为一道彩虹
if __name__ == '__main__':
# 获取用户输入导入年份
year = int(input())
# 判断year是否为闰年,根据题目(能被4整除,但不能被100整除,或者能被400整除的年份为闰年)
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
print(f'{year}年是闰年')
else:
print('{}年不是闰年'.format(year))
2、鸡兔同笼
类型:双重循环
描述
假设笼中鸡和兔的脚总数为80,编写一个程序计算鸡和兔分别有多少只的所有组合
输入
无
输出
完整并精确地描述题目输出格式要求
示例
(点击编辑器左上角{;}按钮编辑代码框)
输入
输出
'兔': 19, '鸡': 2
'兔': 18, '鸡': 4
....................
代码:
# -*- coding = utf-8 -*-
# @Author:为一道彩虹
if __name__ == '__main__':
# 假设笼中鸡和兔的脚总数为80,编写一个程序计算鸡和兔分别有多少只的所有组合
total_feet = 80
# 1、兔子数量从0到可能的最大值(总脚数除以4)
for rabbits in range(total_feet // 4, 0, -1):
# 2、鸡的数量从0到可能的最大值(总脚数除以2)
for chickens in range(1, total_feet // 2):
# 判断,如果当前组合的脚数等于总数
if rabbits * 4 + chickens * 2 == total_feet:
print('兔{}只,鸡{}只'.format(rabbits, chickens))
# 特定输出示例,并非解决鸡兔同笼问题的标准逻辑
# rabbit_counts = range(19, 0, -1) # 兔子数量从19递减到1
# chicken_counts = range(2, 39, 2) # 鸡的数量从2开始,每次加2,直到38
3、求三角形的周长和面积
类型:分支
描述
用户输入三角形三边长a,b,c,判断三边长是否能构成三角形,并求其周长和面积,如果周长是z,
面积公式为。
输入
3,4,5
输出
周长12面积 6.0
示例
(输出中的标点为中文,输入为三个数据同一行输入,以逗号间隔)
输入
3,4,5
输出
周长12面积6.0
输入
10,12,32
不构成三角形
代码:
# -*- coding = utf-8 -*-
# @Author:为一道彩虹
import math
if __name__ == '__main__':
# 获取用户输入的三条边长(以逗号分隔)
a, b, c = map(int, input().split(','))
# 三角形周长公式:设三角形的三边长度分别为a、b、c,则三角形的周长P可由以下公式计算得出 P=a+b+c
p = a + b + c
# 面积公式:arca = sqrt(s(s - a)(s - b)(s - c)), 其中s = (a+b+c)/2
s = (a + b + c) / 2
# 判断三个边能否构成三角形
if a + b > c and a + c > b and b + c > a:
# m = math.sqrt(s * (s - a) * (s - b) * (s - c)) # 开根号方法
m = (s * (s - a) * (s - b) * (s - c)) ** 0.5
print('周长{}面积{}'.format(p, m))
else:
print('不构成三角形')
4、计算收入
类型:分支判断,计算
描述
孙悟空是某公司的一名员工,其月薪是5000元。公司决定本年度没有请假的员工还将拿到2000元的全勤奖和1%的股权。请编写程序计算孙悟空本年度的总收入并输出相应信息。
输入
输入是否请假的情况,Y表示请假,N表示没有请假
输出
输出总收入
示例
(其中%和:都是中文符号)
输入
N
输出
孙悟空获得公司1%股权
孙悟空本年度的总收入是:62000
输入
Y
输出
孙悟空本年度的总收入是:60000
代码:
# -*- coding = utf-8 -*-
# @Author:为一道彩虹
if __name__ == '__main__':
# 获取用户输入是否请假的情况,Y表示请假,N表示没有请假
ch = input()
# 判断是否请假
if ch == 'Y':
print('孙悟空本年度的总收入是:{}'.format(5000 * 12))
else:
print('孙悟空获得公司1%股权')
print('孙悟空本年度的总收入是:{}'.format(5000 * 12 + 2000))
5、模拟发车
类型:循环
描述
发车模拟:南宁到桂林的汽车,从早上6点到晚上20点,用户输入发车间隔,利用间隔输出所有车次
如每隔两小时发一趟,则输出如下示例:
输入
2
输出
发6点钟的车
发8点钟的车
发10点钟的车
发12点钟的车
发14点钟的车
发16点钟的车
发18点钟的车
发20点钟的车
共发8趟车
代码:
# -*- coding = utf-8 -*-
# @Author:为一道彩虹
if __name__ == '__main__':
# 获取用户输入的时间间隔
interval = eval(input())
# 起始发车时间
departure_time = 6
# 总运行时间
total_hours = 20
count = 0
# 计算并输出总共发车的趟数
while departure_time <= total_hours:
print('发{}点钟车'.format(departure_time))
count += 1
departure_time += interval
print('共发{}趟车'.format(count))
先赞后看,养成习惯!!!^ _ ^ ❤️ ❤️ ❤️
码字不易,大家的支持就是我的坚持下去的动力。点赞后不要忘了关注我哦!