Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';我不明白为什么程序不';不出声_Python_Python 3.x - Fatal编程技术网

Python Can';我不明白为什么程序不';不出声

Python Can';我不明白为什么程序不';不出声,python,python-3.x,Python,Python 3.x,我编写了一个程序,询问用户需要计算平均分数的分数。但我不明白为什么它不能给我一个输出。这是我的密码: def input_data(): number_of_smth = int(input()) return number_of_smth def answer_output(array, avg): print("The average of ", len(array), " grades is ", avg) print("High is: ", arra

我编写了一个程序,询问用户需要计算平均分数的分数。但我不明白为什么它不能给我一个输出。这是我的密码:

def input_data():
    number_of_smth = int(input())

    return number_of_smth

def answer_output(array, avg):
    print("The average of ", len(array), " grades is ", avg)
    print("High is: ", array[0], "; Low is: ", len(array)-1)

def array_init(n):
    array = []
    for element in range(0, n):
        array[element] = input_data()

    return array

def sorting(array):
    for j in range(len(array) - 1, 0, -1):
        for i in range(j):
            if array[i] > array[i + 1]:
               temp = array[i]
               array[i] = array[i + 1]
               array[i + 1] = temp

    return array

def average(array):
    sum_of_array_elements = 0
    for element in range(0, len(array), 1):
        sum_of_array_elements += array[element]

    return sum_of_array_elements / len(array)

def main():
    print("Please type the number of grades")
    grades_list = sorting(array_init(input_data()))
    answer_output(grades_list, average(grades_list))

main()

数组_init
中有错误。行
array[element]=input_data()
失败,出现
索引器。这是因为
数组
为空。位置
元素
处没有可分配的内容。您可以使用
array.append(input_data())
在列表中创建所需的项。通过使用像这样的python内置函数,可以极大地提高可读性和可维护性

def answer_output(array, avg):
    print("The average of ", len(array), " grades is ", avg)
    print("High is: ", array[0], "; Low is: ", len(array)-1)

def main():
    print("Please type the number of grades")
    number_of_grades = int(input())
    # use list comprehension to read in the numbers
    grades_list = [int(input()) for i in range(number_of_grades)]
    # sort the list    
    grades_list.sort()
    # average is the sum over the count
    average_grade = sum(grades_list) / len(grades_list)
    # print out the results
    answer_output(grades_list, average_grade)

array=[]
array[element]=input\u data()
不是有效的approach@Bazingaa感谢您的帮助建议您首先正确缩进代码,没有人能帮您喜欢this@ShubhamJain编辑。包括输入、错误、实际输出和预期输出,以解释“未给出输出”。