我正在尝试为问题中的每个数字添加一个,但是我遇到了一个没有意义的语法错误?



我正在尝试为问题中的每个数字添加一个,但我收到一个语法错误,说返回函数外部,但这对我来说没有意义。如果有人能帮助我,我将不胜感激。

string = ''
num = int(input('Enter a number: '))
num_str = str(num)
for digit in num_str:
new_digit = int(digit) + 1
string += str(new_digit)
return string

这是错误:

Enter a number: 998
File "<ipython-input-6-5ccf9871a3c6>", line 12
return string
^
SyntaxError: 'return' outside function

您在函数外部使用 return 语句,它应该返回到哪里?

def yourFunction():
string = ''
num = int(input('Enter a number: '))
num_str = str(num)
for digit in num_str:
new_digit = int(digit) + 1
string += str(new_digit)
return string
result = yourFunction()
print(result)

因为 return 不在函数内部,所以它不能返回到某个地方。按如下方式重写代码应该可以修复您的错误:

def myfunction():
string = ''
num = int(input('Enter a number: '))
num_str = str(num)
for digit in num_str:
new_digit = int(digit) + 1
string += str(new_digit)
return string
mystring = myfunction()
print(mystring)

如果这个小脚本的任务是在输入值上加 1,你可以把它重写为更简单的值。

当您不在函数中时,您正在使用 return 关键字。您实际上不需要在此处返回,只需将其删除即可。

编辑:但请注意,在您当前的设置中,将 1 添加到数字"9"并附加"10"将换行不会换行为 0。

由于代码不在函数内,因此您无处可返回。只需打印字符串。

string = ''
num = int(input('Enter a number: '))
num_str = str(num)
for digit in num_str:
new_digit = int(digit) + 1
string += str(new_digit)
print(string)

相关内容

最新更新