#python #string #input #literals
#python #строка #ввод #литералы
Вопрос:
Мой код на python работает отлично. Но проблема заключается в веб-сайте, где требуется, чтобы входные данные были в строковом формате с пробелами между ними и принимались как целое число
Ниже приведен мой фактический код на python
x = int(input())
n = int(input())
prod = 1
if(x >= 0 and x <= 9 and n >=0 and n <= 9):
for i in range(n):
prod = prod * x
print(prod)
Этот код фактически вычисляет степень числа.
Пример: x = 3, n = 4, prod = 81
Теперь ошибка заключается в том, что
ValueError: invalid literal for int() with base 10: ' 3 4'
x = int(input())
n = int(input())
Я должен принять два входных данных x amp; n
в этом формате 3 4
. Кто-нибудь может мне помочь с этим?
Комментарии:
1.
x, y = map(int, input().split())
Ответ №1:
заменить
x = int(input())
n = int(input())
с
s = input('enter two integers: ')
x, n = [int(i) for i in s.split()]
Ответ №2:
Это недопустимо, потому что в вашей строке есть пробелы. Просто split
нажмите пробел, чтобы получить список из двух чисел, и, возможно, также проверьте длину результирующего списка, в зависимости от того, что вы можете получить в качестве входных данных.
Ответ №3:
Здесь вы используете int(). Следовательно, для ввода () требуется целочисленное значение в кавычках. Пробел не подпадает под категорию, называемую целыми числами. Чтобы устранить эту ошибку, используйте split()
Ответ №4:
Вот код
x=int(input("Enter number1:"))
n=int(input("Enter number2:"))
prod = 1
if(x >= 0 and x <= 9 and n >=0 and n <= 9):
for i in range(n):
prod = prod * x
print(prod)
Надеюсь, это полезно