问题:编写一个函数,获取一个数字列表,并返回列表中最大的数字。如果列表中没有数字,则返回0
据我所知;我需要定义一个列表,接受用户输入,将输入放入我的列表中,放置一个max函数来识别我的列表的最大数字,并根据是否有数字以if语句结束
代码:
n = []
def BG(n):
numbers = int(input("type numbers:"))
n.append(numbers)
largest = max(n)
if numbers in n:
return n
else:
return "0"
return n
BG(n)
*请协助
写出了我的逻辑,但完全被难住了,对缺乏理解
代码的问题是,您试图将整个列表转换为int,而不是任何一个数字。
def BG():
try:
all_numbers_as_one_string = input("type numbers:") # read the numbers
array_of_strings_representing_numbers = all_numbers_as_one_string.split(" ")
numbers_array = map(int, array_of_strings_representing_numbers)
largest_number = max(numbers_array)
return largest_number
except: # if something goes wrong (there are no numbers or one of the inputs is not parsable to int)
return 0
print("Largest number is: " + str(BG()))
一些测试:
python3 x.py
type numbers:1 2 3
Largest number is: 3
python3 x.py
type numbers:
Largest number is: 0
python3 x.py
type numbers: 1 hello world 2
Largest number is: 0