我正在尝试使用以下两种功能:
def func1():
print('blahblah')
func2()
def func2():
check = 0
while check < 1:
first = input('Integer or pass ')
if first == 'pass':
first = 0
func1()
break
else:
first = int(first)
second = input('Integer or pass')
if second == 'pass':
second = 0
func1()
break
else:
second = int(second)
third = input('Integer or pass' )
if third == 'pass':
third = 0
func1()
break
else:
third = int(third)
check = 1
return first, second, third
当一次&#34;传递&#34; func2返回None而不是输入。进入了。我做错了什么?
编辑:结果应为3个整数,无论多少次&#39;传递&#39;进入了。 更改缩进后,我得到以下错误:UnboundLocalError:local variable&#39; second&#39;在赋值之前引用(如果我以pass开头)
澄清:func2要求输入,如果输入是&#34;传递&#34;然后调用func1。 打印后func1再次调用func2。重复此操作直到输入3个整数。他们的价值应该在最后归还。
答案 0 :(得分:1)
你的缩进是错误的。您需要在之前移动最后一个语句return first, second, third
一个标签。