问问题
164 次
4 回答
2
如果你真的想只在使用时定义它们,为什么不让它完全明确和明显,以便阅读和更改?
if trigger == '1':
x = int(start)
elif trigger == '2':
x = int(s1)
elif trigger == '3':
x = int(s2)
elif trigger == '4':
x = int(start)
y = int(s1)
elif trigger == '5':
x = int(s1)
y = int(s2)
于 2012-10-11T09:42:52.293 回答
1
为什么不在你的 if 中再添加一个条件。
这是编写option 2
. 我认为您可以遵循:-
if trigger in ('1', '4'): // You can better use `in` to check for more values
x = int(start)
if trigger == '4':
y = int(s1)
elif trigger in ('2', '5'):
x = int(s1)
if trigger == '5':
y = int(s2)
elif trigger == '3':
x = int(s2)
于 2012-10-11T09:38:56.100 回答
1
类似于KV 图中的优化,其中X
考虑或不考虑 ed 字段取决于它是否在优化中有用(参见 7 段显示与 BCD 值,其中值 10..15 未定义),我倾向于保留它尽可能简单并分配值,即使它们以后不使用。
于 2012-10-11T09:45:19.807 回答
0
如果所有s1
, s2
etc 将始终存在并且是有效整数,则选项 1 很好。
但是,它确实使您的代码不必要地依赖于您不使用的值的格式。有时这很好。但是,如果 egs1
和朋友来自在命令行上传递的选项或输入到输入文件中的选项,您的用户将不喜欢您因为ValueError
未定义这些值而抛出 a,从而迫使他们在无用的参数中传递无意义的整数。
所以真的,答案是这一切都取决于上下文!很难对这类问题给出一个一般性的答案。
于 2012-10-12T08:55:43.070 回答