ValueError: недопустимый литерал для int () с базой 10: `` Что не так - PullRequest
0 голосов
/ 14 июля 2020

Я работаю над проектом, в котором мне нужно создать калькулятор среднего, медианного, режима и диапазона, и мне постоянно не удается получить число от пользователя в качестве ввода. Вот код:

print("Mean, Median, Mode, and Range Calculator")
user_input = input("Press 1 to choose Mean , 2 to choose Median, 3 to choose Mode, and 4 to choose Range")

def get_num():
    x = [input("Enter your numbers Without commas ie. 12 34 56: ")]
    x1 = []
    for i in x: 
        x1.append(int(i)) 
        print(x1)


if user_input == '1':
    pass

Но я продолжаю получать эту ошибку:

ValueError: invalid literal for int() with base 10: '12 34 56'

Я пробовал использовать карту, используя для l oop по списку, но это не так. не работает. Я даже не знаю, что означает ошибка, может кто-нибудь объяснить?

Ответы [ 3 ]

2 голосов
/ 14 июля 2020

Попробуйте это. Также user_input не определено. если вы используете x1 только для преобразования в int, тогда он вам не нужен. map сделает это за вас.

def get_num():
    x = map(int,input("Enter your numbers Without commas ie. 12 34 56: ").split())
    return x


x1 = []
x = get_num()
for i in x:
    x1.append(i)
    print(x1)
1 голос
/ 14 июля 2020

Не помещайте вызов input() в список. Чтобы получить список введенных слов, используйте split().

def get_num():
    x = input("Enter your numbers Without commas ie. 12 34 56: ")
    x1 = []
    for i in x.split(): 
        x1.append(int(i)) 
    print(x1)

Вы также можете использовать понимание списка.

def get_num():
    x = input("Enter your numbers Without commas ie. 12 34 56: ")
    x1 = [x1.append(int(i)) for i in x.split()]
    print(x1)
0 голосов
/ 14 июля 2020

Хороший способ - использовать map для преобразования input в int и использовать функцию list, чтобы обернуть map.

def get_num():
    x = input("Enter your numbers Without commas ie. 12 34 56: ")
    x1 = list(map(lambda i: int(i), x.split()))
    print(x1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...