在Python中读取一系列输入/输出

时间:2010-05-22 10:47:50

标签: python

对于我的应用,我需要打印出一系列输出,然后接受用户的输入。这样做的最佳方式是什么?

像:

print '1'
x = raw_input()

print '2'
y = raw_input()

这样的东西,但它会持续至少10次。我唯一担心的是它可以弥补代码可读性差。

我该怎么办?我应该创建这样的函数:

def printOut(string):
   print string

或者有更好的方法吗?

3 个答案:

答案 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' )

你无法简化这一点。