作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 PHP 和 Perl 的资深人士,但 Python 对我来说是新手。我很喜欢学习它!我写了下面的代码,但我无法摆脱这样的感觉,即具有“高级”Python 技能的人可以更好地编写它。你是真正的 Python 爱好者吗?
请注意:我希望代码可读。 Python 应该是可读的——我们不是在这里写 Perl 的人! (例如:我喜欢“工作日”是一个字符串而不是一个整数,非常清楚)
import datetime
today = datetime.datetime.now()
weekday = today.strftime("%a")
hourmin = int(today.strftime("%H%M"))
print "today here is: " + today.strftime("%c") # for debug
if weekday == "Sat" or \
(weekday == "Sun" and hourmin < 2000) or \
(weekday == "Fri" and hourmin > 1630) or \
(hourmin >= 1630 and hourmin < 2000) :
print "bad time"
else:
print "good time"
最佳答案
您可以将一个日期字符串映射到一个 lambda 表达式,该 lambda 表达式需要花费一小时并确定它是否坏。例如:
# establish the "rules"
bad_time = {
'Sat': lambda h: True, # always bad time!
'Sun': lambda h: h < 2000,
'Fri': lambda h: h > 1630,
}
# ... get your `weekday` and `hourmin` values
is_bad = bad_time.get(weekday, lambda h: (1630 <= h < 2000))(hourmin)
print 'bad time' if is_bad else 'good time'
编辑:遵循 kindall 的建议。
关于Pythonians : Is there a better way to code this in Python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6379112/
有时我仍然无法适应“更像 Python 的方式”来编写代码……现在我正在迭代一些值 (x)。我有很多数组,我总是比较所有数组的第一个值、第二个值……简而言之:按数组中的位置比较数组中所有条目的平均值。
给定一个项目列表 [音乐家] 和一个词典列表 [乐器] 如何以 pythonic 方式在它们之间建立关联? 因此,为了简化我的真实场景,请考虑以下内容: musicians = [[700,"Jam
我是 PHP 和 Perl 的资深人士,但 Python 对我来说是新手。我很喜欢学习它!我写了下面的代码,但我无法摆脱这样的感觉,即具有“高级”Python 技能的人可以更好地编写它。你是真正的 P
我是一名优秀的程序员,十分优秀!