输出列表时出错

时间:2017-05-12 04:57:55

标签: python arrays list python-3.x sorting

我在输出一系列功能的结果时遇到了问题。任何信息都非常感谢,因为我已经被困了几个小时。

错误:

onSubmit: function(oEvent) {
     console.log("Submitted");
 }

期望的输出:

minNum = theArray[0]
IndexError: list index out of range

功能: randIntArray - 填充一组随机整数(用于测试)。 getInt(prompt) - 尝试从用户10x获取一个整数。 getData() - 使用getInt执行循环10x以将整数存储到数组(userIntList)中。 swap - 交换例程列表。 sortArray - 使用交换例程排序。 displayArray - 打印数组。 maxValue - 查找列表中的最大值(不使用内置函数的python)。 minValue - 查找列表中的min(不使用python内置函数)。 aveValue - 在列表中查找ave#(不使用内置函数的python)。 totalValue - 查找列表中整数的总数(不使用内置函数的python) dataOut(theArray) - 打印上面列出的值。 processInput(theArray) - 使用dataOut,排序并以未排序和排序的形式提示列表。 unitTest - 使用随机整数函数来测试和打印结果。

The original array was:
[22, 49, 80, 4, 53, 31, 6, 30, 61, 87]
The maximum value is: 87
The minimum value is: 4
The total value is: 423
The average value is: 42.3
The sorted array is:
[4, 6, 22, 30, 31, 49, 53, 61, 80, 87]

再次感谢所有参与你们的人是天使。

  • 酒吧

2 个答案:

答案 0 :(得分:0)

main()拨打getData()时,它不会将返回的userIntList分配给theArray

更新main()代码:

def getData():
    userIntList = []
    for i in range(10):
        userNum = getInt("Please enter value number : ")
        userIntList.append(userNum)
    return userIntList

def main():
    unitTest()
    theArray = []
    done = False
    while not done:
        proceedQ = input("Would you like to enter 10 numbers <y/n>? ")
        if proceedQ == "y":
            # Assign the returned list from getdata() to theArray
            theArray = getData() 
            processInput(theArray)
        if proceedQ != "y":
            done = True

答案 1 :(得分:0)

main()调用函数getData()时,您没有捕获它返回的结果。因此,当您的theArray初始化为[]时,它会通过minValue()通过processInput()传递给[],其价值相同,即minValue()。但是在theArray内,当main()中没有元素时,您正试图访问第一个元素。您需要在theArray = getData() -

中执行此操作
b, a = a, b

同样在python中,您不需要单独的函数来进行交换。它可以像这样轻松完成 -

<div ng-repeat="location in vm.locations" class="row">
    <div class="form-group col-md-12">
        <label for="location">Location</label>
        <input type="text" class="form-control" name="location" ng-model="location.name">

        <a class="pull-right" ng-click="vm.showLocationDetail()">Add Description</a>
    </div>
    <br>
    <div ng-show="vm.showDetail" class="form-group col-md-12">
        <textarea class="form-control" type="text" name="description" rows="5" ng-model="location.description"></textarea>
    </div>
</div>

即使您不需要自己进行排序。尝试使用python提供的工具和函数

同样可以找到列表的最大值和最小值