创建函数中的问题

时间:2019-02-11 18:26:03

标签: python python-3.x

这是我的第一个问题,我是编程新手,对于不便之处,我们深表歉意!
我需要完成一个练习,其中包括创建函数以查找列表上的较高数字,以及另一个函数以查找列表上的较低数字,但是当我打印结果时,它总是给我一个错误的答案。

这是我的代码:

lista_numeros = [1593, 200, 72, 8, 423, 2, 39, 293, 20120]

def menor_numero(arg1):

    colector1 = arg1[0]

    print(coletor1) # - Checking value added to COLECTOR1

    for a in range(len(arg1)):

           print(arg1[a]) # - Checking if the A argument is running through the list.

           if colector1 < arg1[a]:

                     colector1 = arg1[a]

    return colector1


resultado2 = menor_numero(lista_numeros)

print("menor ", str(resultado2)) # Result is the last position of the list, must be the 6th position.

非常感谢您。

4 个答案:

答案 0 :(得分:0)

假设您的输入是一个列表,而不是字符串或某种类型,您可以只使用min()/ max()方法:

myList = [1,2,3,4,5]

print(max(myList)) >> 5

print(min(myList)) >> 1

您可以在此处找到更多信息: https://www.tutorialspoint.com/python3/list_max.htm https://www.tutorialspoint.com/python3/list_min.htm

答案 1 :(得分:0)

您的函数正在查找最大值而不是最小值。将<更改为>应该可以满足您的要求。

Python还具有内置方法min()max(),它们应该可以实现您想要的功能。

答案 2 :(得分:0)

在python中,所有缩进的拳头非常重要,它可以告诉执行代码的顺序并定义代码在循环中的位置等。

现在您说要创建一个从另一个函数的输出中找到最小和最大数字的函数,为此,我将假定此输出为列表。

请参阅下面带有注释的代码。

Mylist = [1, 2, 3, 4, 5, 6, 7, 8, 9] #assume this is output from other funtion

def func(alist): #define function
    collector1 = 100 #keeping your collector idea
    for i in alist: #iterate through input
        if i < collector1: #check if the item you are currently looking at is smaller than the item currently stored in collector
            collector1 = i #if is smaller overwitre colletor with new item
    print(collector1) #after iterating through all items in input print final value of colletor

func(Mylist) #call function with input

此输出

1

只需更改此

    if i > collector1:

现在它将找到最大的输入,因此现在是输出。

9

编辑:如果您正在寻找数量最少的启动收集器1,如果您正在寻找= 1的最大启动收集器1。

答案 3 :(得分:0)

#! python3

import random

numbers = []
max = 1000
min = 0

for i in range(40):
    numbers.append(random.randint(min,max))

maxNum = min
minNum = max

for num in numbers:
    if num > maxNum:
        maxNum = num
    elif num < minNum:
        minNum = num

print(maxNum, minNum)

这是我的代码,我使用python中的随机库生成一个随机数字列表,然后将max设置为等于该列表中的最大数字。

以下for循环会生成40个随机数,并将其添加到我的列表中。

然后我将maxNum设置为零,因此一切都会大于零,因此初始值不会影响结果,然后我将minNum设置为等于max,因此每个数字都小于它。

最后一个代码块遍历数字列表,并将每个数字与当前的maxNum和minNum变量进行比较,以查看该数字是大于max还是小于min。如果是,则将更新maxNum(或minNum)数字,并且代码将移至下一个数字。

最后一条语句打印或显示最小值和最大值。

我不知道您要学习什么课程,但是我建议您熟悉此代码并了解它的功能,因为它非常基础,并且将来遇到的事情会更难。 / p>