对于我的应用,我需要打印出一系列输出,然后接受用户的输入。这样做的最佳方式是什么?
像:
print '1'
x = raw_input()
print '2'
y = raw_input()
这样的东西,但它会持续至少10次。我唯一担心的是它可以弥补代码可读性差。
我该怎么办?我应该创建这样的函数:
def printOut(string):
print string
或者有更好的方法吗?
答案 0 :(得分:2)
答案 1 :(得分:0)
如果您正在阅读多个领域,可能需要执行以下操作:
field_defs = [
('name', 'Name'),
('dob' , 'Date of Birth'),
('sex' , 'Gender'),
#...
]
# Figure out the widest description.
maxlen = max(len(descr) for (name, descr) in field_defs)
fields = {}
for (name, descr) in field_defs:
# Pad to the widest description.
print '%-*s:' % (maxlen, descr),
fields[name] = raw_input()
# You should access the fields directly from the fields variable.
# But if you really want to access the fields as local variables...
locals().update(fields)
print name, dob, sex
答案 2 :(得分:0)
“10次......代码可读性差”
不是真的。你必须提供比这更复杂的东西。
20行代码几乎不成问题。您可以轻松编写超过20行代码,试图避免简单地编写20行代码。
您还应该阅读raw_input
的说明。 http://docs.python.org/library/functions.html#raw_input
它写了一个提示。你的四行代码真的是
x = raw_input( '1' )
y = raw_input( '2' )
你无法简化这一点。