统计学研硕大数据统计练手05

统计学Python练手作业05


在这里插入图片描述AI绘图仅供欣赏

题目

输入某年某月某日,判断这一天是这一年的第几天?


以下仅供参考,欢迎指正,共同探讨。

一、程序

代码如下(示例):

year = int(input('请输入年份:'))
mouth = int(input('请输入月份:'))
day = int(input('请输入日期:'))
mouths = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]  # 确定平年每月天数
if year % 400 == 0 or year % 4 == 0:  # 闰年判断
    mouths[3] = mouths[3] + 1  # 闰年二月多加一天

if 0 < mouth <= 12:
    days = 0

    for i in range(mouth): # 遍历每月天数
        dj = mouths[i] 
        days = days + dj  # 天数相加

    day_s = days + day # 定义第几天
    print(f'这一天是这一年的第{day_s}天') # 格式化输出
else:
    print('输入日期超出范围')

二、结果

代码如下(示例):

请输入年份:2024
请输入月份:3
请输入日期:13
这一天是这一年的第72

总结

本题注重分析,需要分析平年与闰年,平年每月各有几天为常识,不做累述。闰年是如何判断的?闰年是可以被400或被4整除的数(% 400 == 0 or % 4 == 0),闰年二月需要加1天,起始天数可以自定义,个人是从0天开始定义。“这一天是这一年的第几天”,个人的理解为输入月的天数+前几个月天数累加,借鉴了思路,想清楚明白就好了。仍然是for循环遍历和if elsif 或 if else 的应用,请到优快云知识树中学习,不做累述。

for i in range 是Python中的一种循环语句,它用于遍历一个整数序列。这个序列可以通过 range 函数生成,该函数可以接受1到3个参数,分别表示起始值、终止值和步长。如果只传入一个参数,则默认为stop参数,循环从0开始,步长为1;如果传入两个参数,则第一个参数为start,第二个参数为stop,循环步长为1;如果传入三个参数,则第一个参数为start,第二个参数为stop,第三个参数为step,循环步长为step。

例如,以下代码可以遍历从0到4的整数序列,并输出每个数的平方:


for i in range(5):

print(i2)

if elsifif else 是两种不同的条件判断语句,它们的主要区别在于是否允许同时处理多个条件以及它们的执行顺序。

if elsif
if elsif 语句用于在多个条件中寻找一个满足的条件,然后执行相应的代码块。它可以包含多个 elsif 子句,每个子句都代表一个独立的条件。如果第一个条件不满足,程序将继续尝试下一个 elsif 子句,直到找到一个满足条件的为止。如果所有条件都不满足,那么不会执行任何代码块。
if else
if else 语句用于在两个条件中选择一个满足的条件。你需要指定一个 if 条件和一个 else 条件。如果 if 条件满足,则执行第一个代码块;否则,执行 else 代码块。这个语句通常用来实现单分支的选择结构。
总得来说,if elsif 语句适用于需要在多个可能性之间做出选择的场景,而 if else 语句则是用于二选一决策的情况。在实际应用中,应根据需要选择合适的语句来满足编程需求。

例如,以下是一个简单的if elsif循环示例:

if n > 10:
  print(n)
elsif n < 10:
  print("错误")
elsif n == 10:
  print("错误")

例如,以下是一个简单的if else循环示例:

if n > 10:
  print(n)
else:
  print("错误")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值