#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)