可能重复:
替换python中的switch语句?
鉴于此方法:
def getIndex(index):
if((index) < 10):
return 5
elif(index < 100):
return 4
elif(index < 1000):
return 3
elif(index < 10000):
return 2
elif(index < 100000):
return 1
elif(index < 1000000):
return 0
我想让它成为一个开关大小写样式,但是Python不支持开关大小写。
有替代品吗?
在这个特定的例子中,我会使用数学:
def get_index(index):
return 6 - int(round(math.log(index, 10)))
您必须使用内置函数round
作为math。log
返回一个浮点值。
经典的pythonic方法是使用字典,其中键是您的测试,值是反映您打算做什么的可调用函数:
def do_a():
print "did a"
self do_b():
print " did b"
#... etc
opts = {1:do_a, 2:do_b}
if value in opts:
opts[value]()
else:
do_some_default()
那么6-len(str(index))
呢?
问题内容: 问题 在解决这个问题之后,似乎基于文件或磁盘的实现可能是解决我在此处提到的问题的正确解决方案。精简版: 目前,我已将实施为。 条目以相当固定的速率连续添加到其中。稍后对此进行详细说明。 最终,无论如何,这意味着JVM耗尽了堆空间。 在工作中,(强烈)建议我使用SQLite解决此问题,但是在问了上一个问题之后,我认为数据库不是适合此工作的合适工具。所以- 让我知道这听起来是否疯狂 -我认
这个问题已经过时了。删除了不推荐使用的标志,3.8确认了这一点。
问题内容: 这是一个在大多数正则表达式实现中都能正常工作的正则表达式: 这与.js匹配以.js结尾的字符串,但filename.js除外 Javascript没有后面的正则表达式。有谁能放在一起实现相同结果并可以在javascript中工作的替代正则表达式? 这里有一些想法,但需要帮助功能。 问题答案: 为我工作 经过测试: test.js match blabla.js match filena
问题内容: 我正在寻找一个好的Tree数据结构类。我遇到过这个软件包,但是由于我是Python的新手(不是编程人员),所以我不知道是否有更好的软件包。 我想在这里听到来自Pythonista的消息-您是否有喜欢的树脚本经常使用并会建议使用? [编辑] 为了澄清,用“树”来表示,是指一个简单的无序树(嗯,这是一个递归定义,但希望可以使情况有所澄清)。关于我需要的树(即用例)。我正在从一个平面文件中读
问题内容: 这是一个从来没有一个正确答案的问题,我已经在网上搜索了很多次,却找不到解决方案。 它适用于Firefox,Chrome。我的responseText将像Réunion这样返回char,它将显示为奇怪的符号。 我尝试了许多方法,例如编码和解码,在响应文件中设置标头都无效。我没主意了。请帮助某人。 在主文件中,确保设置了内容类型和字符集。 在您的AJAX加载页面中,确保您位于顶部。 问题解
仅适用于与 Android 手机配对的 Polar M600 如您无法找到您的手机,您可以使用 M600 让手机响铃,即使手机被设置为静音或仅振动也能操作。 请注意,要使用此功能,M600 必须通过蓝牙连接至手机。 让手机响铃 按下侧边电源按钮打开应用程式菜单,找到并轻触Find my phone(找到我的手机)。 如您的手机位于有效的蓝牙连接范围内,您的手机将开始响铃。如手机未响铃,请尝试移动至