Нужна помощь в умножении на Python

#python #python-3.x #python-3.8

Вопрос:

Я новичок в python и нуждаюсь в вашей помощи в этом вопросе. Пробовал искать везде, но не нашел никакого рабочего решения.

Мой код таков:

 a=input("Enter a number : ")
b=10
c=a*b
print("Multiply =",c)
 

Результат, который я получаю a=2 , это:

 Multiply = 2222222222   
 

Я хочу, чтобы он печатался Multiply = 20 , но вместо этого он печатает в 10 раз больше цифры 1, но мне нужен продукт. Как мне решить эту проблему?

Ответ №1:

По умолчанию input() возвращает строку. С помощью

 a = int(input("Enter a number: "))
 

Должно сработать.

Ответ №2:

Вы не можете умножить строку. Мне нравится думать об этом так 10*'word' . Возможно, но это не даст вам результата.

 a=int(input("Enter a number : "))
b=10
c=a*b
print("Multiply =",c)
 

Примите ввод int.

Комментарии:

1. Однако вы можете умножить строку. Он просто повторит строку b несколько раз, что и произошло с спрашивающим.

2. Да, я знаю. Я сказал, что это возможно. Но ваш вывод неверен

Ответ №3:

Вам нужно преобразовать входные данные в целое число, используя что-то вроде int(input("Enter a number : ")) , но если входные данные не являются целыми, это вызовет проблемы.

Чтобы убедиться, что ввод является строкой, я рекомендую что-то вроде этого:

 while True:
    a = input("Enter a number : ")
    if a.isnumeric():
        a = int(a)
        break
    print("You did not input a number.")
    
b = 10
c = a * b
print("Multiply =",c)
 

Это будет повторяться до тех пор, пока пользователь не назовет номер.

Ответ №4:

Вы можете использовать float для добавления целого числа или с плавающей точкой в качестве входных данных.

 print("Multiply =", float(input("Enter a number : "))*10)
 
 int1: 5
int2: 5.5
out1: 50.0
out2: 55.0
 

Или:

 print("Multiply =", int(float(input("Enter a number : "))*10))
 
 int1: 5
int2: 5.5
out1: 50
out2: 55
 

Ответ №5:

Ввод принимает строку. Поэтому прежде всего преобразуйте его в целое число, вызвав функцию int()

 a = int(input("Enter a number : "))
b = 10
c = a*b
print("Multiply =",c)
 

Ответ №6:

Помните, что в python функция ввода() всегда возвращает строку, поэтому, когда вам нужен какой-либо определенный тип данных в качестве типа ввода, приведите несколько примеров

 x = int(input()) # input 20 

print(x)  -> prints 20 

x = float(input()) # input 50 
 
print(x)  -> prints 50.0

x = list(map(int, input().split(' '))) # input 20 30 40 as integer 

print(x)  -> prints list [20, 30, 40]

so the solution for your question is:
 
a=int(input("Enter a number : "))
b=10
c=a*b
print("Multiply =",c)