在菜单显示上工作,字母"m"将用户带回主菜单.如果字母"m"是大写还是小写,我怎么能这样才能使它工作?
elif choice == "m":
Run Code Online (Sandbox Code Playgroud)
ken*_*ytm 13
之一
elif choice in ("m", "M"):
Run Code Online (Sandbox Code Playgroud)
elif choice in "mM": # false positive if choice == ''
Run Code Online (Sandbox Code Playgroud)
elif choice == 'm' or choice == 'M':
Run Code Online (Sandbox Code Playgroud)
elif choice.lower() == 'm':
Run Code Online (Sandbox Code Playgroud)
在可维护性方面,当你想扩展到多字母字符串的不区分大小写的比较时,第四种选择更好,因为你需要在第一和第三种选择中提供所有2 N种可能性.第二种选择仅适用于单字符字符串.
使用第4种替代方案时,如果要将其更改'm'
为其他字母,也不可能错过.
在效率方面,第二种选择是最有效的,然后是第一种,然后是第3种,最后是第4种.这是因为第三种选择涉及更多的操作; 虽然函数调用和获取属性在Python中很慢,所以两者都使得第四种选择相对较慢.
有关反汇编和结果,请参见http://pastie.org/1230957timeit
.
当然,除非你进行1000万次这样的比较,否则每个人之间没有可感知的差异.
归档时间: |
|
查看次数: |
11378 次 |
最近记录: |