Python 那是什么样的回报?
摘自codewars中的kata: 我得了精神病。我很讨厌数字。但这有点复杂:我担心的数字取决于一周中的哪一天。。。这是我精神疾病的具体描述: 星期一-->12 星期二-->大于95的数字 周三-->34 星期四-->0 星期五-->可被2整除的数字 周六-->56 星期日-->666或-666 编写一个函数,它包含一个字符串(星期几)和一个整数(要测试的数字),这样它就可以告诉医生我是否害怕。(返回布尔值) 答案是:Python 那是什么样的回报?,python,Python,摘自codewars中的kata: 我得了精神病。我很讨厌数字。但这有点复杂:我担心的数字取决于一周中的哪一天。。。这是我精神疾病的具体描述: 星期一-->12 星期二-->大于95的数字 周三-->34 星期四-->0 星期五-->可被2整除的数字 周六-->56 星期日-->666或-666 编写一个函数,它包含一个字符串(星期几)和一个整数(要测试的数字),这样它就可以告诉医生我是否害怕。(返回布尔值) 答案是: def am_I_afraid(day,num): return {
def am_I_afraid(day,num):
return {
'Monday': num == 12,
'Tuesday': num > 95,
'Wednesday': num == 34,
'Thursday': num == 0,
'Friday': num % 2 == 0,
'Saturday': num == 56,
'Sunday': num == 666 or num == -666,
}[day]
有人能帮我了解一下退货是怎么回事吗?(内脏)
这是一个字符串和布尔值的字典。每次根据传递给它的数字调用此方法时,它都会计算一周中所有日期的布尔值。最后,它为过去一天的字典编制索引并返回其值。这是一个字符串和布尔值的字典。每次根据传递给它的数字调用此方法时,它都会计算一周中所有日期的布尔值。最后,它为过去一天的字典编制索引并返回其值。这是一个字符串和布尔值的字典。每次根据传递给它的数字调用此方法时,它都会计算一周中所有日期的布尔值。最后,它为过去一天的字典编制索引并返回其值。这是一个字符串和布尔值的字典。每次根据传递给它的数字调用此方法时,它都会计算一周中所有日期的布尔值。然后在最后,它为过去一天的字典编制索引并返回其值。代码依次运行并计算每一行,因此如果输入666,您将得到以下哈希值:
{'Monday': False,
'Tuesday': True,
'Wednesday': False,
'Thursday': False,
'Friday': True,
'Saturday': False,
'Sunday': True,
}
然后,[day]
将从散列中提取该值并返回布尔值,因此如果传递了星期三
,您将得到假
。如果星期五<代码>已经过去,您将得到True
。i、 e
{'Monday': False,
'Tuesday': True,
'Wednesday': False,
'Thursday': False,
'Friday': True,
'Saturday': False,
'Sunday': True,
}['Friday']
将获得散列值:
{'Friday':True}
并返回值True
代码依次运行并计算每一行,因此如果输入666,则将得到散列值:
{'Monday': False,
'Tuesday': True,
'Wednesday': False,
'Thursday': False,
'Friday': True,
'Saturday': False,
'Sunday': True,
}
然后,[day]
将从散列中提取该值并返回布尔值,因此如果传递了星期三
,您将得到假
。如果星期五<代码>已经过去,您将得到True
。i、 e
{'Monday': False,
'Tuesday': True,
'Wednesday': False,
'Thursday': False,
'Friday': True,
'Saturday': False,
'Sunday': True,
}['Friday']
将获得散列值:
{'Friday':True}
并返回值True
代码依次运行并计算每一行,因此如果输入666,则将得到散列值:
{'Monday': False,
'Tuesday': True,
'Wednesday': False,
'Thursday': False,
'Friday': True,
'Saturday': False,
'Sunday': True,
}
然后,[day]
将从散列中提取该值并返回布尔值,因此如果传递了星期三
,您将得到假
。如果星期五<代码>已经过去,您将得到True
。i、 e
{'Monday': False,
'Tuesday': True,
'Wednesday': False,
'Thursday': False,
'Friday': True,
'Saturday': False,
'Sunday': True,
}['Friday']
将获得散列值:
{'Friday':True}
并返回值True
代码依次运行并计算每一行,因此如果输入666,则将得到散列值:
{'Monday': False,
'Tuesday': True,
'Wednesday': False,
'Thursday': False,
'Friday': True,
'Saturday': False,
'Sunday': True,
}
然后,[day]
将从散列中提取该值并返回布尔值,因此如果传递了星期三
,您将得到假
。如果星期五<代码>已经过去,您将得到True
。i、 e
{'Monday': False,
'Tuesday': True,
'Wednesday': False,
'Thursday': False,
'Friday': True,
'Saturday': False,
'Sunday': True,
}['Friday']
将获取散列值:
{'Friday':True}
并返回值True
这将构建一个以一周中的每一天为键的字典。字典看起来是这样的(假设我通过num
,值为10
)(记住字典是无序的)
它所做的是使用num
计算每个表达式:
num == 12 # False
num > 95 # False
num == 34 # False
num == 0 # False
num % 2 == 0 # True
num == 56 # False
num == 666 or num == -666 # False
最后,它使用传递的day
只返回字典中该键的值
因此,如果您通过
Friday
和10
,您将收到True
。对于每隔一天,如果值为10
,则会得到False
,这将构建一个字典,并将一周中的每一天作为键。字典看起来是这样的(假设我通过num
,值为10
)(记住字典是无序的)
它所做的是使用num
计算每个表达式:
num == 12 # False
num > 95 # False
num == 34 # False
num == 0 # False
num % 2 == 0 # True
num == 56 # False
num == 666 or num == -666 # False
最后,它使用传递的day
只返回字典中该键的值
因此,如果您通过
Friday
和10
,您将收到True
。对于每隔一天,如果值为10
,则会得到False
,这将构建一个字典,并将一周中的每一天作为键。字典看起来是这样的(假设我通过num
,值为10
)(记住字典是无序的)
它所做的是使用num
计算每个表达式:
num == 12 # False
num > 95 # False
num == 34 # False
num == 0 # False
num % 2 == 0 # True
num == 56 # False
num == 666 or num == -666 # False
最后,它使用传递的day
只返回字典中该键的值
因此,如果您通过
Friday
和10
,您将收到True
。对于每隔一天,如果值为10
,则会得到False
,这将构建一个字典,并将一周中的每一天作为键。字典看起来是这样的(假设我通过num
,值为10
)(记住字典是无序的)
它所做的是使用num
计算每个表达式:
num == 12 # False
num > 95 # False
num == 34 # False
num == 0 # False
num % 2 == 0 # True
num == 56 # False
num == 666 or num == -666 # False
最后,它使用传递的day
只返回字典中该键的值
因此,如果您通过Friday
和10
,您将收到True
。每隔一天,如果值为10
,则会得到False
字典文本(以及