我只是想解决以下问题
您有个约会。您的任务是查找当天的星期几。 输入样本:2018年10月10日
我想出了以下解决方案:
days={'0':'monday','1':'tuesday','2':'wed','3':'thurs','4':'friday','5':'sat','6':'sun'}
user_input=datetime.datetime(2018, 11 ,6)
result=user_input.weekday()
print (days.get('result'))
现在它打印'None',我期望它返回键值。
即使print(result)
返回的值是 1 ,而type(result)
返回的值是 int 。
我想知道为什么我没有得到预期的输出。
必须有一种更Python的方法来执行此操作,但是我主要关心的是get()
的行为方式。
答案 0 :(得分:1)
首先,days.get('result')
试图在字典中查找字符串'result'
,而不是变量result
。
第二个user_input.weekday()
返回一个整数,但是字典中的键是字符串,而不是整数。
这本来可以工作的:
days = {0:'monday', 1:'tuesday', 2:'wed', 3:'thurs', 4:'friday', 5:'sat', 6:'sun'}
user_input = datetime.datetime(2018, 11, 6)
result = user_input.weekday()
print(days.get(result)) # or simply print(days[result])
但是,由于可能的天数范围是数字0到6,因此列表同样适用。
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
user_input = datetime.datetime(2018, 11, 6)
result = user_input.weekday()
print(days[result])