我在使用递归方法显示我的值时遇到了一些困难 . 我想输入10个数字,根据选择,将返回最大数字,最小数字和数字之和 . 我得到两个错误:一个是(len)不能返回一个int,如果我在单个函数中输入一个值,它将继续循环,直到程序达到它的解析限制(999) . 我不知道如何继续并获得我想要的值,这似乎是我投入的 Value 观的主要问题 . 任何建议将不胜感激!
def displayMenu():
print('Enter 1 to find the largest number: ')
print('Enter 2 to find the smallest number: ')
print('Enter 3 to sum the list of numbers: ')
print('Enter 4 to exit: ')
choice = int(input('Please enter your choice: '))
while choice <= 0 or choice >= 5:
print('Enter 1 to find the largest number: ')
print('Enter 2 to find the smallest number: ')
print('Enter 3 to sum the list of numbers: ')
print('Enter 4 to exit: ')
choice = int(input('Please enter your choice: '))
else:
return choice
def main():
MIN = 1
MAX = 100
num_MAX = 10
user_num = []
number_list = []
for i in range(num_MAX):
user_num = int(input('Please enter a number at this time: '))
while user_num < 1 or user_num > 100:
user_num = int(input('Please re-enter numbers between 1 and 100:' ))
number_list.append(user_num)
choice = displayMenu()
while choice != 4:
if choice == 1:
largest = find_largest(user_num)
print('The largest number is: ', largest)
elif choice == 2:
smallest = find_smallest(user_num)
print('The smallest number is: ', smallest)
elif choice == 3:
summy = find_sum(user_num)
print('The sum of the numbers entered is: ', summy)
choice = displayMenu()
def find_largest(user_num):
n = len(user_num)
if n == 1:
return user_num[0]
else:
temp = find_largest(user_num[0:n - 1])
if user_num[n - 1] > temp:
return user_num[n - 1]
else:
return temp
def find_smallest(user_num):
n = len(user_num)
if n == 1:
return user_num [0]
else:
temp = find_smallest(user_num[0:n - 1])
if user_num[n - 1] < temp:
return user_num[n - 1]
else:
return temp
def find_sum(user_num):
user_num = [1,2,3,4]
n = len(user_num)
if len(user_num) == 1:
return user_num [0]
else:
return user_num[n - 1] + sum[0:n - 1]
main()