Python——第一天作业

本文介绍了一个简单的日期操作程序,包括如何根据输入的年份和月份计算该月的天数,如何判断输入值是否为空并进行错误处理,以及根据月份确定所属季节的方法。这些小技巧对于日常编程中涉及日期处理的场景非常实用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 输入年、月,输出本月有多少天。合理选择分支语句完成设计任务。
    输入样例1:2004 2
    输出结果1:本月29天
    输入样例2:2010 4
    输出结果2:本月30天

  

结果:

                                              

                                                         

2. 用 if 判断输入的值是否为空?如果为空,报错Error

结果:

        

3. 根据用于指定月份,打印该月份所属的季节。
**提示: 3,4,5 春季 6,7,8 夏季  9,10,11 秋季 12, 1, 2 冬季

  

结果:

                  

python作业 一、Turtle创意大PK 自拟题目,完成一个利用Python程序的创意绘图,采用turtle库绘图为主,不少于50行代码,可选采用其他库。 (滑稽绘制) 二、程序练习 2.1 问题描述(10分) 人们常常提到"一万小时定律",就是不管你做什么事情,只要坚持一万小时,应该都可以成为该领域的专家。那么,10000小时是多少年多少天呢? 2.2 问题描述(10分)0380031003800341590145037657 编写计算从n到m和的函数‬,函数名为sum(n,m)‬,函数返回值为n到m所有数据的和‬,使用该函数计算输入数据x,y之间所有数据的和。 2.3 问题描述(15分) 编写函数judgeTri(a,b,c),判断以参数a,b,c的值为边长能否构成三角形并判断三角形的形状;若是锐角三角形,返回R;若是直角三角形,返回Z;若是钝角三角形,返回D;若三边长不能构成三角形,返回ERROR。 2.4 问题描述(15分) 用户输入一个字符串,分别统计其中小写字母、大写字母、数字、空格和其他字符的个数,并在一行内输出小写字母、大写字母、数字、空格和其他字符的个数。 2.5 问题描述(20分) 程序的功能: (1) 使用随机库功能,生成一个包含10个不重复且小于200的正整数列表ls1,输出ls1。‬ (2) 使用列表排序方法,对ls1按奇数在前偶数在后,并且奇数之间的相对顺序不变,偶数之间的相对顺序也不变进行排序,再输出ls1。‬ (3) 使用列表排序方法,对ls1按元素字符长度降序进行排序,输出ls1。
### 关于鸡兔同笼问题 在解决 **鸡兔同笼** 的问题时,可以通过设定变量来表示鸡的数量和兔子的数量。假设总共有 `heads` 个头以及 `legs` 条腿,则可以建立如下方程组: - 鸡和兔子的总数:`chickens + rabbits = heads` - 腿的总数:`2 * chickens + 4 * rabbits = legs` 通过解这个方程组即可得出鸡和兔子的具体数量[^1]。 以下是实现该逻辑的一个简单 Python 程序: ```python def solve_chicken_rabbit(heads, legs): for rabbits in range(0, heads + 1): # 假设兔子的数量从0到head的最大可能值 chickens = heads - rabbits # 计算对应的鸡的数量 if 2 * chickens + 4 * rabbits == legs: # 检查是否满足腿数条件 return (chickens, rabbits) # 返回鸡和兔子的数量 return None # 若无解则返回None # 测试函数 result = solve_chicken_rabbit(35, 94) if result is not None: print(f"鸡的数量为 {result[0]}, 兔子的数量为 {result[1]}") else: print("此问题无解") ``` --- ### 关于今天是第几天的问题 对于计算某年某月某日是一年的第几天这一类问题,通常需要考虑闰年的影响。如果给定日期中的年份能被4整除但不能被100整除或者能够被400整除,则这一年为闰年;否则不是闰年。具体算法如下所示: ```python def is_leap_year(year): """判断是否为闰年""" return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0) def day_of_year(year, month, day): days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] if is_leap_year(year): days_in_month[1] += 1 total_days = sum(days_in_month[:month - 1]) + day return total_days # 测试函数 print(day_of_year(2023, 3, 1)) # 输出应为60天 ``` --- ### 物不知数问题 在中国古代数学名著《孙子算经》中有这样一个著名的不定方程求解问题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。” 这实际上是一个模线性方程组求最小正整数解的问题。可以用中国剩余定理的方法来解答它。 下面提供了一个基于枚举法解决问题的小程序: ```python def find_number(): number = 0 while True: if all([number % 3 == 2, number % 5 == 3, number % 7 == 2]): break number += 1 return number # 执行并打印结果 print(find_number()) # 应输出23 ``` --- ### 存款买房-B 存款买房问题是模拟一个人每月存入固定金额的钱用于购房首付的过程。这里我们假设有初始存款额、每个月增加的存款量以及目标总额三个参数参与运算。当累计存款达到或超过所需首付款项时即完成任务。 下面是相应的代码片段: ```python def deposit_for_house(initial_deposit, monthly_savings, target_amount): months = 0 current_deposit = initial_deposit while current_deposit < target_amount: current_deposit += monthly_savings months += 1 return months # 示例调用 months_needed = deposit_for_house(10000, 2000, 50000) print(months_needed) # 结果应该是20个月 ``` --- ### 二鼠打洞 最后提到的是另一个有趣的中国古代数学趣题——两老鼠分别从两端向中间挖通一条隧道的时间预测模型。已知每只老鼠每天挖掘的距离不同,那么它们相遇所需的天数等于整个通道长度除以两只动物每日共同进展的速度之差再加一整天(因为即使最后一部分不足一天也会计作完整的一天)。 给出一段简单的脚本作为例子: ```python def two_mice_tunnel(length, speed_mouse_a, speed_mouse_b): combined_speed_per_day = abs(speed_mouse_a + speed_mouse_b) days_required = length / combined_speed_per_day import math return math.ceil(days_required) # 使用实例 days_to_meet = two_mice_tunnel(100, 3, 2) print(days_to_meet) # 此处应该显示约需14天时间 ``` --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值