下面的代码来自hackermeter.com,我不知道该怎么想.变量i是隐式传递给run()还是期望更多修改而不是它指定的位置?
import sys
def run():
# Code here!
for i in range(int(sys.stdin.readline())):
run()
Run Code Online (Sandbox Code Playgroud)
NPE*_*NPE 10
我认为这是一个糟糕的编码实践.唯一的原因,run()访问i的是,i是全球性的.
以下可以说是更好的,因为它会迫使程序员传递i到run()明确的(如果需要):
import sys
def run():
# Code here!
def main():
for i in range(int(sys.stdin.readline())):
run()
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1912 次 |
| 最近记录: |