#python #if-statement #while-loop #break
Вопрос:
start = input('Enter quadratic equation: ')
w = start.split()
while len(w) != 7:
start = input('Enter quadratic equation correctly: ')
w = start.split()
while x < len(w):
if "x" in w[x] and '^2' in w[x]:
a = w[x]
if a == "x^2":
a = 1
else:
a = a.replace('x^2', '')
a = int(a)
if w[x-1] == '-':
a = a * (-1)
else:
a = a
elif 'x' in w[x] and '^' not in w[x]:
b = w[x]
if b == 'x':
b = 1
else:
b = b.replace('x', '')
b = int(b)
if w[x-1] == '-':
b = b * (-1)
else:
b = b
elif w[x].isdigit() and 'x' not in w[x] and w[x] != '0':
c = w[x]
elif w[x] == '-' or ' ' or '=':
s = 0
elif not w[x].isdigit() and 'x' not in w[x] and w[x] != '-' or ' ' or '=':
print('Mistake')
break #Would not this code here work?
x = 1
Я пробовал просто делать блок «еще», но все равно это не сработало бы. То, что я пытаюсь сделать, — это проверить, действительно ли входные данные являются квадратным уравнением.
Комментарии:
1. Можете ли вы поделиться тем, как именно вы пишете свое квадратное уравнение ?
2. Пример: 3x^2 12x 13 = 0
Ответ №1:
Неправильное условие заключается elif not w[x].isdigit() and 'x' not in w[x] and w[x] != '-' or ' ' or '=':
в том , что он не делает то, что вы хотите/в чем нуждаетесь
Та w[x] != '-' or ' ' or '=':
часть :
- это как
(w[x]!='-') or (' ') or ('='):
- не похоже
w[x] != ('-' or ' ' or '='):
Что вы хотите w[x] not in '- ='
: и то же самое для предыдущего
elif w[x] in '- =':
s = 0
elif not w[x].isdigit() and 'x' not in w[x] and w[x] not in '- =':
print('Mistake')
break
Комментарии:
1. Спасибо! Но все равно он не печатает «Ошибка» после того, как я ввожу «а а а а а а а».
2. @EgorK Только что увидел, что предыдущий был неправильным по той же причине, посмотрите мою правку
3. @EgorK Вы можете подумать о том, чтобы проголосовать за ответ, и принять его (зеленая галочка слева), если он вас удовлетворяет 😉