LINUX.ORG.RU

Расчёт пропорций

 


0

1

Я пишу скрипт на питоне, который вычесляет пропорцию. Расчёт пропорции нужен для графического дизайна. Сам скрипт на Python:

x1 = float(input('Введите X1: '))
y1 = float(input('Введите Y1: '))
x2 = float(input('Введите X2: '))
y2 = float(input('Введите Y2: '))

if x1 == ?
    x1=y1*x2/y2
    print(f'Ответ: {x1}')

Вылезает такая ошибка:

  File "main.py", line 6
    if x1 == ?
             ^
SyntaxError: invalid syntax

Из-за чего вылезает ошибка?

★★★★★

Тебе наверное непонятно это

  File "main.py", line 6
    if x1 == ?
             ^
SyntaxError: invalid syntax

Вот я локализовал

  Файле 📁 "main.py", лайне 6️⃣
    if x1 == ? 👈😎
             👆😎
СинтаксЕррор⚠️: инвалид ♿ синтакс
LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 3)

Ты должен сравнивать с чем то, а не с выдуманным ? даже если бы это была родная конструкция языка то какое значение у ? было бы если оно не определено. Или это могла бы быть константа аля PI, но это я так в рамках параллельного мира и альтернативной истории.

Юмор юмором, но ты наверное только только начинаешь тыкать палочкой питон, ничего страшного, ты просто сравниваешь значение полученное в переменную с несуществующей сущностью. Напиши вместо ? например 10 и если у тебя в x1 будет 10 то будет выполнено условие и выполнится код в его теле. Ещё момент ты используешь float и == точное сравнение я в питоне не шибко понимаю, но думаю что мало чем там отличается подобная штука от остальных, никогда не сравнивай float (как минимум без приведения к целому или округления) с чем угодно. Используй >=,<=.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от ConLenov

Короче, по-тупому: знак вопроса, если его ввести вот так, будет строкой «?». Поэтому твоя программа будет принимать четыре значения и считать, что они строки.

Дальше надо if x1==«?», а перед вычислениями остальные три значения преобразовать в числа и посчитать ответ.

Или будет считать строкой только то значение, где ты ввел вопрос, тогда преобразовывать не придется.

Irma ★★
()
Последнее исправление: Irma (всего исправлений: 1)
Ответ на: комментарий от ConLenov

Аааа, ты хотел ввести ряд чисел и сделать пропуск в одном заменив ввод числа на символ ? а затем сделать 4 тела if для каждого случая, тогда принимай значения как строки, смотри есть ли в переменной (куда ты получил значения) символ ? и в зависимости от того в какой переменной переходи в тело условия где вычисляешь конкретную неизвестную. Ничего страшного твоя беда была в том что ты думал что в float можно хранить и символ ? напрямую, но ты сам в получении же преобразовал ввод к float приводи к нему значения непосредственно перед расчётами, а до этого держи просто как входящую строку. Не сдавайся, разберёшься только не забудь что надо обернуть в кавычки if x == "?" и после этих уже проверок приводи к float оставшиеся известные значения.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)