如何将表示月和日的书减1,得到正确的索引?

代码效果:
输入月份数字:1
输入第几天数字:22
输入星期几数字:5
January 22nd, 星期五

效果如图:

img

代码如下,如有帮助给个采纳谢谢:

month = int(input('输入月份数字:'))
day = int(input('输入第几天数字:'))
weekday = int(input('输入星期几数字:'))

months = {
    1: 'January',
    2: 'February',
    3: 'March',
    4: 'April',
    5: 'May',
    6: 'June',
    7: 'July',
    8: 'August',
    9: 'September',
    10: 'October',
    11: 'November',
    12: 'December'
}

weekdays = {
    1: '星期一',
    2: '星期二',
    3: '星期三',
    4: '星期四',
    5: '星期五',
    6: '星期六',
    7: '星期日'
}

month_name = months.get(month)
weekday_name = weekdays.get(weekday)

output = f"{month_name} {day}日, {weekday_name}"
print(output)


y=int(input(输入月份数字:))
print(lst[y-1])
或者你定义成字典,不要用列表

img

以下是一个简单的Python代码,可以接收月、日和星期的数字输入,并按照你给出的格式进行输出:

def date_format(month, day, week):
    month_dict = {1: 'January', 2: 'February', 3: 'March', 4: 'April', 5: 'May', 6: 'June',
                  7: 'July', 8: 'August', 9: 'September', 10: 'October', 11: 'November', 12: 'December'}
    week_dict = {1: '星期一', 2: '星期二', 3: '星期三', 4: '星期四', 5: '星期五', 6: '星期六', 7: '星期日'}

    if day == 1 or day == 21 or day == 31:
        day_str = str(day) + 'st'
    elif day == 2 or day == 22:
        day_str = str(day) + 'nd'
    elif day == 3 or day == 23:
        day_str = str(day) + 'rd'
    else:
        day_str = str(day) + 'th'

    return f"{month_dict[month]} {day_str}, {week_dict[week]}"

month = int(input("输入月份数字:"))
day = int(input("输入第几天数字:"))
week = int(input("输入星期几数字:"))

print(date_format(month, day, week))

此代码会根据输入的月份数字、日期数字和星期数字,输出相应的英文月份、日期和中文星期。

注意,这个代码假设你输入的日期和星期都是有效的(例如,日期在1到31之间,星期在1到7之间)。如果你不确定输入是否总是有效,你可能需要添加一些错误检查代码。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^