我将如何使用递归来反转数字的顺序。我什至不知道从哪里开始。有人可以帮我一下吗? 例如输入=1,2,3,4 输出=4,3,2,1
我已经尝试过了,这就是我所拥有的,但它仍然无法正常工作。
def reverseDisplay(number):
new_list=" "
if len(number)==1:
new_list=number
else:
new_list=reverseDisplay(number[1:]) + number[0] + " "
return new_list
def main():
number=float(input("Enter a number :"))
print(reverseDisplay(number))
main()
最佳答案
推理是这样的:
- 如果列表为空,则 rev([]) 也是 [] - 这称为“基本情况”
- 否则,反转其余部分(除第一个元素之外的列表)并将第一个元素附加到它
这样
rev ([1, 2, 3, 4])
= rev ( [2, 3, 4]) + [1]
= rev ( [3, 4]) + [2] + [1]
= rev ( [4]) + [3] + [2] + [1]
= rev ( []) + [4] + [3] + [2] + [1]
= [] + [4] + [3] + [2] + [1]
或者,在 Python 中
def rev(lst):
if lst: # list is not empty
return rev(lst[1:])+[lst[0]]
else: # list is empty
return []
关于python - 使用递归来反转python中数字的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20131303/