我很難理解爲什麼我的方法中的內循環沒有產生所期望的行爲,我希望有人能夠幫助我理解問題。Python方法中的內循環幫助
我的方法需要一系列參數(*args
),如果參數是一個整數,我想在整數週圍添加美元符號(例如,$5$
)。
def t_row(*args):
columns = 5
if len(args) == columns:
count = 0
for value in args:
if type(value) is int:
value = ''.join(('$', str(value), '$'))
count += 1
if count < len(args):
penult_args = args[:-1]
line_prefix = [''.join((str(value), " & ")) for value in penult_args]
elif count == len(args):
line_suffix = [''.join((str(value), " \\\\", "\n"))]
count += 1
line_list = line_prefix + line_suffix
line = ''.join(item for item in line_list)
return(line)
上面的代碼這樣使用:
>>> s = q.t_row('data1', 'data2', 3, 'data4', 5)
>>> print s
data1 & data2 & 3 & data4 & $5$ \\
我爲什麼不避開整數3美元符號?如何修復我的代碼以糾正此問題?
IMHO這個代碼是取消Python化:我有你的方法需要列表:'.t_row(VALUE_LIST = [無,3,5],named_list = [ 'DATA1', '數據2', 'DATA4'])'或事件剛剛返回命名值,和他們拉出來的'kwargs'的,如:'.t_row(數據1 =無,數據2 = 3,數據4 = 5)''高清t_row(個體經營,* ARGS,** kwargs):''對於kwargs中的參數:'etc –