对于家庭作业,我必须创建一个递归函数来反转字符串。这是我目前的情况。最后三行代码是由讲师编写的,我们不允许更改它们。当我运行程序时,不会返回任何内容。我认为反转字符串的代码是正确的,但我正在尝试如何打印结果。
def reverse(input_string):
if len(input_string) == 0:
return input_string
else:
return reverse(input_string[1:]) + input_string[0]
print "Please enter the string you want to reverse: "
initial_input = raw_input()
reverse(initial_input)
基于这个问题的表述,我假设您的老师不会从文件运行这个代码,而是在交互式shell中运行。所以,为了调试,可以在最后一行代码(调用
recursive
函数)之前添加print
运算符,并且不要忘记在之后删除它。您可以自己在交互式shell中测试代码,只需在控制台中运行
python
。注意,如果要立即复制粘贴程序,那么raw_input()
后面的空行将作为initial_input
值。只需将粘贴复制到包含有raw_input
的行,输入字符串,然后调用reverse(initial_input)
。更简单的方法是调用
python -i your_source.py
,然后调用reverse(initial_input)
。只要考虑一下reverse(initial_input)
实际上会运行两次(这在这里不是问题)。你需要打印报税表
因此
reverse(initial_input)
被分配给返回值,但是如果您想打印它,您需要执行`反向打印(初始输入)由于无法更改最后三个,因此应使用函数打印而不是返回它。你的指令可能想让你这样做来显示递归
在这里,你可以试试这个,它有点复杂,但它在函数中是相反的:
听起来你只需要在函数中打印反转的字符串?你的老师提供了输出应该是什么样子的实际例子吗?
也许您应该定义一个单独的函数来执行相反的操作,并让
reverse
函数简单地调用这个新函数,然后打印结果。相关问题 更多 >
编程相关推荐