【发布时间】:2017-09-05 19:57:54
【问题描述】:
各位网友,
几天前我刚开始使用 Python,我正在尝试创建一个入门程序。我要做的就是创建一些可以从用户那里获取一组数字(非负数)的输入,并打印该集合中最高数字的值。
我已经阅读了一些关于可能能够完成这项任务的递归函数的内容,但就像我说的,我是新手!如果你们中的任何一位专业人士可以向我展示一些可以做到的事情,我将非常感激。
def Max(list):
if len(list) == 1:
return list[0]
else:
m = Max(list[1:])
return m if m > list[0] else list[0]
def main():
list = eval(raw_input(" please enter a list of numbers: "))
print("the largest number is: ", Max(list))
main()
【问题讨论】:
-
你现在所拥有的究竟有什么问题?
-
通常你需要遍历列表并找到最大值。这不是在这里完成的。另外,请请不要养成这样使用
eval的习惯。 -
你不需要
Max一个。使用内置函数max。 -
他正在学习@ChristianDean,递归
max是个不错的练习 -
我理解你的观点@Daniel。但是,由于 OP 在标题中声明了“我的第一个 Python 程序”,我想他可能没有意识到他试图用
Max实现的功能已经用内置的max函数完成了。如果他知道这一点并且只是出于教育目的尝试创建Max,那也完全没问题。我的目的只是让他知道。
标签: python sorting math numbers