Базовая программа на Python, постоянно говорит мне, что мои элементы в списке - это строки, а не целые числа? - PullRequest
0 голосов
/ 09 июня 2019

Я пытаюсь создать эту функцию, чтобы умножить 2 натуральных числа от пользователя.Когда я запускаю код, он в основном говорит, что элементы списка являются строками, а не целыми числами, хотя в цикле ввода я указываю, что я хочу, чтобы строки преобразовывались в целые.Не совсем уверен, что происходит?(NB Я знаю, что это все очень ненужно, LOL, но я новичок и просто пытаюсь учиться с основными проблемами. Спасибо)

def multiply(a, b):
    c = a * b
    return c

input_list = []
for items in range(1, 3):
    input1 = (input('Enter 2 positive, whole numbers you would like to multiply '))
    int(input1)
    input_list = input_list + [input1]  

result = multiply(input_list[0], input_list[1])
print(result)

Ответы [ 4 ]

3 голосов
/ 09 июня 2019

Вы преобразуете input1 в целое число, но не сохраняете результат:

int(input1)

Вы должны сделать:

input1 = int(input1)
0 голосов
/ 09 июня 2019

Как насчет этого:

def multiply(a, b):
    c = a * b
    return c


numbers = []
for items in range(2):
    string = input('Enter a number you would like to multiply: ')
    number = int(string)
    numbers.append(number)


result = multiply(numbers[0], numbers[1])
print(result)
0 голосов
/ 09 июня 2019

Просто приведите строку к целому числу вот так int(a) и int(b):

def multiply(a, b):
    c = int(a) * int(b)
    return c
0 голосов
/ 09 июня 2019
def multiply(a, b):
    c = a * b
    return c

input_list = []
for items in range(1, 3):
    input1 = (input('Enter 2 positive, whole numbers you would like to multiply '))
    input_list.append(int(input1))


result = multiply(input_list[0], input_list[1])
print(result)

Попробуйте это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...