gpt4 book ai didi

Pythonians : Is there a better way to code this in Python?

转载 作者:行者123 更新时间:2023-11-28 19:45:48 25 4
gpt4 key购买 nike

我是 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com