def print_two(*args):
arg1, arg2 = args
print ("arg1: %r, arg2: %r" % arg1, arg2)
def print_two_again(arg1, arg2):
def print_one (arg1):
print ("arg1: %r" % arg1)
def print_none():
print ("I got nothing.")
print_two ("Zed", "Shaw")
print_two_again ("Zed", "Shaw")
print_one ("First!")
print_none()
文件“ex18.py”,第7行 def print_one(arg1): ^ IdentationError:预期为缩进块
print ("arg1: %r, arg2: %r" % (arg1, arg2))"
答案 0 :(得分:1)
首先,你要用多个参数格式化字符串(事实上,即使只有一个参数,我这样做),你应该有括号争论。所以改变:
print ("arg1: %r, arg2: %r" % arg1, arg2)
成:
print ("arg1: %r, arg2: %r" % (arg1, arg2))
其次,如果你想要一个函数(或循环或其他需要声明的东西)什么也不做,你通常应该使用pass
关键字,例如:
if pi == e:
pass
但是,在这种情况下,如果你真的回到书中,你会看到print_two_again()
已经实现了:
def print_two_again(arg1, arg2):
print "arg1: %r, arg2: %r" % (arg1, arg2)
换句话说,在转录代码时,你似乎错过了一条线。