我的第一个Python程序

时间:2017-09-05 19:57:54

标签: python sorting math numbers

你好,互联网的朋友,

我几天前刚刚开始使用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()

2 个答案:

答案 0 :(得分:3)

您在代码中遇到的问题很少:

  • 请勿Python keywords使用list作为变量名称
  • 从用户
  • 获取输入时不要使用eval()
  • 除非您想为教育目的创建功能,否则您可以使用内置max()

所以这是一个更好的代码版本:

def main():

    my_list = raw_input(" please enter a list of numbers: ").split()
    my_list = map(int, my_list) # convert each item to int
    print("the largest number is: ", max(my_list))

main()

如果您使用的是Python3,请将raw_input()更改为input(),如果您使用的是Python2,则将print('item1', 'item2')更改为print 'item1', 'item2'

修改

您可以使用max()生成器表达式来执行以下操作:

def main():

    my_list = raw_input(" please enter a list of numbers: ").split()
    max_num = max(int(x) for x in my_list)
    print("the largest number is: {}".format(max_num))

main()

答案 1 :(得分:0)

单行答案:

print (max(list(map(int,input().split()))))

说明:

a=raw_input() #Take input in string.
b=a.split() #Split string by space.
c=map(int,b) # Convert each token into int.
d=max(c) #Evalute max element from list using max function.
print (d)

编辑:

print (max(map(int,input().split())))