Назначение ввода пользователем (значения с плавающей запятой) в пустой список Python - PullRequest
2 голосов
/ 29 сентября 2019

Это назначенный проект.«Программа предлагает пользователю в интерактивном режиме ввести восемь средних значений, которые программа хранит в массиве».Данные средние значения ватина являются поплавками.Я новичок в Python и не могу понять, как добавить "float" в пустой список.Ниже приведен мой код с сообщением об ошибке.

# Declare a named constant for array size here.
MAX_AVERAGES = 8

# Declare array here.
averages = []
averages1 = []



battingAverage=0
averageString=0

# Write a loop to get batting averages from user and assign to array.

for i in range(MAX_AVERAGES):
    averageString = input("Enter a batting average: ")
    battingAverage = float(averageString)
    MAX_AVERAGES - 1

# Assign value to array
number = battingAverage
    averages1.append(averages)
    averageString + 1

Результат из вышеприведенного кода: введите среднее значение: .111 введите среднее значение: .222 введите среднее значение: .333 введите среднее значение:.444 Введите среднее значение: .555 Введите среднее значение: .666 Введите среднее значение: .777 Введите среднее значение: .888 [[]]

Не уверен, как я оказался с двумя вложенными пустымисписок.

Ответы [ 4 ]

0 голосов
/ 29 сентября 2019

вы можете использовать функции добавления для списка

    max_average=8
    averages=[]
    for i in range(max_average):
        battingAverage=float(input('Enter a batting average: '))
        averages.append(battingAverage)
    print(averages)
0 голосов
/ 29 сентября 2019

Может быть, вы просто пытаетесь написать,

# Declare a named constant for array size here.
MAX_AVERAGES = 3

# Declare array here.
averages = []

# Write a loop to get batting averages from user and assign to array.
for i in range(MAX_AVERAGES):
    averages.append(float(input("Enter a batting average: ")))

print(averages)

Вывод

Enter a batting average: 2
Enter a batting average: 1
Enter a batting average: 3
[2.0, 1.0, 3.0]
0 голосов
/ 29 сентября 2019

Вы получаете вложенный список из-за этой строки: averages1.append(averages).averages1 - пустой список, в который вы добавляете элемент.Этот элемент - averages, который также является пустым списком.

Возможно, вы ищете averages1.append(number), который добавляет к списку введенный пользователем номер.

Также обратите вниманиечто строки кода MAX_AVERAGES - 1 и averageString + 1 ничего не делают, потому что результат не присваивается переменной.

0 голосов
/ 29 сентября 2019

IIUC:

MAX_AVERAGES = 8   
averages = []   

for i in range(MAX_AVERAGES):
    averageString = input("Enter a batting average: ")
    averages.append(float(averageString))

Но я предполагаю, что это не то, что вы хотите.Трудно сказать, потому что у вас есть синтаксические ошибки, которые сразу же сломают ваш код, а также, кажется, много ненужных переменных.

...