Взятие нескольких целочисленных входных данных в одной строке кода - PullRequest
0 голосов
/ 05 апреля 2020

Итак, при написании кода для следующей программы:

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'

Почему это происходит? и как я могу сделать это иначе

...