不明白我做错了什么(开始)



问题:编写一个函数,获取一个数字列表,并返回列表中最大的数字。如果列表中没有数字,则返回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

相关内容

最新更新