Итак, при написании кода для следующей программы:
a = int(input("enter a : "))
b = int(input("enter b : "))
c = int(input("enter c : "))
n = int(input("enter n : "))
def check_fermat(a, b, c, n):
if n > 2 and (a**n + b**n == c**n):
print('Oh No! Fermat was wrong!')
else:
print("No that doesn't work")
check_fermat(a, b, c, n)
, если я хочу собрать все пользовательские данные в одной строке кода, я делаю это:
separator = '-'
x, y, z, n = input("Enter parameters : ").split(separator)
def check_fermat(a, b, c, n):
if n > 2 and (a**n + b**n == c**n):
print('Oh No! Fermat was wrong!')
else:
print("No that doesn't work")
check_fermat(a, b, c, n)
Но это дает мне ошибку:
'>' not supported between instances of 'str' and 'int'
Что означает, что он принимает мои входные данные в виде строки, которая понимается так, как ее нужно определить в первой строке, но если я это сделаю, то есть
x, y, z, n = int(input("Enter the parameters :").split(separator)
, выдает ошибку после ввода в виде 1-2-3-4
:
invalid literal for int() with base 10: '1-2-3-4'
Почему это происходит? и как я могу сделать это иначе