我正在尝试使用递归函数来获取用户输入并打印正确的值。仅当n的值为负时,才会执行countup函数,然后递归函数将打印从n的值一直到-1直到0为止的值。n的值应由用户指定!用户输入程序的哪个数字,都应调用递减计数或递减计数。
def countdown(n):
n = int(input('enter number: '))
if n <= 0:
print('ok')
else:
print(n)
countdown(n-1)
def countup(n):
countdown(n)
if a >= 0:
print('double ok')
else:
print('enter number: ')
newnumb = input()
new_int = int(newnumb)
countup(new_int)
print(countdown())
countup()
答案 0 :(得分:0)
IIUC,您正在尝试创建一个基于输入从正数到零或从负数到零进行计数的函数。如果这正是您要寻找的,那么应该这样做:
def countdown(n):
for i in range(n+1):
print(n-i)
def countup(n):
for i in reversed(range(n,1)):
print(n-i)
def countit():
n = int(input('enter number: '))
if n<=0:
countup(n)
else:
countdown(n)
countit()
使用包含这两个功能的功能效果最佳。
答案 1 :(得分:0)
这是一个递归选项:
def count(n):
print n
if n<0:
count(n+1)
elif n>0:
count(n-1)
n = int(input('enter number: '))
count(n)