Python程序问题

编写程序,读入一个表示星期几的数字(1-7),输出对应的星期字符串。

# 读取用户输入的星期数字
p_weekday = int(input("请输入星期数字(1-7):"))

# 定义一个字典来映射星期数字和星期字符串
weekday_map = {
    1: '星期一',
    2: '星期二',
    3: '星期三',
    4: '星期四',
    5: '星期五',
    6: '星期六',
    7: '星期日'
}

# 根据用户输入的数字获取对应的星期字符串
if p_weekday in weekday_map:
    weekday_string = weekday_map[p_weekday]
    print("您输入的数字 {} 对应的星期是:{}".format(p_weekday, weekday_string))
else:
    print("无效的输入,请输入一个有效的星期数字(1-7)。")

在这个示例程序中,我们首先使用input函数读取用户输入的星期数字,并将其转换为整数类型。

然后,我们定义了一个字典weekday_map,其中键是星期数字(1-7),值是对应的星期字符串。

接下来,我们使用if条件语句来检查用户输入的数字是否在字典中。如果存在于字典中,我们从字典中获取对应的星期字符串,并使用print函数输出结果。如果用户输入的数字无效(不在1-7范围内),我们将输出一个错误提示。

你可以将以上代码粘贴到Python环境中运行。程序将要求你输入一个数字(1-7),然后输出相应的星期字符串。例如,如果你输入1,程序将输出"您输入的数字 1 对应的星期是:星期一"。

朋友,如果对我的回答还满意的话,麻烦点个采纳,谢谢啦!

  • 代码运行效果截屏图片

    img

  • 代码

#!/sur/bin/nve python
# coding: utf-8

#!/sur/bin/nve python
# coding: utf-8
def say_day(day):
    days_zip = list(zip('7123456', ('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday')))
    print('Days字典数据:', end='')
    print(*days_zip) 
    days = dict(days_zip)
    print('Days字典:', days)
    print(f'\n{f" {days.get(day)} ":~^41}\n')
 
if __name__ == '__main__':
    say_day(input("\n输入星期数字(1~7):").strip())


  • 代码运行效果截屏图片

    img

  • 代码

#!/sur/bin/nve python
# coding: utf-8

def say_day(day):
    days = dict(zip('7123456', ('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday')))
    print(f'\n{f" {days.get(day)} ":~^41}\n')


if __name__ == '__main__':
    say_day(input("\n输入星期数字(0~6):").strip())



不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7670262
  • 你也可以参考下这篇文章:Python:程序读入应该表示星期几的数字(1~7),输出对应的星期字符串名称(源码+效果图)
  • 你还可以看下python参考手册中的 python- 定义扩展类型:已分类主题- 终结和内存释放
  • 除此之外, 这篇博客: Python练习题1中的 #编写程序,判断输入的任意一个正整数是否为素数。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    #编写程序,判断输入的任意一个正整数是否为素数。
    import math
    a = int(input("请输入一个整数(>1):"))
    b = int(math.sqrt(a))
    c = b+2
    for i in range(2,c):
        if a % i == 0:
            break #可以整除,肯定不是素数,结束循环
    if i == b+1: print(a, "是素数!")
    else: print(a, "不是素数")
  • 您还可以看一下 林男老师的Python中小学儿童孩子青少年少儿编程入门零基础趣味创意视频教程课程中的 输入与显示小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    解决方案

    1. 首先需要使用input()函数从控制台读取用户输入的数字,即代表一周中的某一天。
    num = input("请输入数字(1-7): ")
    
    1. 读取字符串类型的数字后,需要将其转换为整数类型以便后续操作。
    num = int(num)
    
    1. 接下来需要根据数字输出对应的星期字符串,可以使用if-elif语句进行判断并进行输出。注意数字的区间为1-7,超出该区间需要给出错误提示。
    if num == 1:
        print("星期一")
    elif num == 2:
        print("星期二")
    elif num == 3:
        print("星期三")
    elif num == 4:
        print("星期四")
    elif num == 5:
        print("星期五")
    elif num == 6:
        print("星期六")
    elif num == 7:
        print("星期日")
    else:
        print("数字输入错误,请输入1-7之间的数字")
    
    1. 完整代码如下:
    num = input("请输入数字(1-7): ")
    num = int(num)
    if num == 1:
        print("星期一")
    elif num == 2:
        print("星期二")
    elif num == 3:
        print("星期三")
    elif num == 4:
        print("星期四")
    elif num == 5:
        print("星期五")
    elif num == 6:
        print("星期六")
    elif num == 7:
        print("星期日")
    else:
        print("数字输入错误,请输入1-7之间的数字")
    

    注意: 以上代码中使用了input()函数读取用户输入,但如果需要从文件中读取,可以使用以下代码:

    with open('file.txt', 'r') as f:
        num = int(f.read().strip())
    

    如果读取的文件中有多个数字,可以使用for循环逐个读取并处理。

    以上为完整的解决方案,如果还有其他问题欢迎提出。


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

外面设置循环输入数字输出星期字符串,输入q退出程序,


while True:
    num = input("请输入数字1到7,退出请按q:")
    if num == "q":
        break
        
    for i in range(3):
        if num.isnumeric() and 1 <= int(num) <= 7:
            num = int(num)
            break
        else:
            if i == 2:
                print("输入错误次数过多,程序退出!")
                exit()
            else:
                print("输入有误,请重新输入!")
                num = input("请输入数字1到7,退出请按q:")
            
    if num == 1:
        print("星期一")
    elif num == 2:
        print("星期二")
    elif num == 3:
        print("星期三")
    elif num == 4:
        print("星期四")
    elif num == 5:
        print("星期五")
    elif num == 6:
        print("星期六")
    else:
        print("星期日")