Я пытаюсь напечатать уравнение с переменными

Я уже пытался поместить все символы в кавычки

import random
import random
def ask():
    a = raw_input("do you want the equation to be easy, medium, or hard: ")
    b = int(raw_input("what is the number that you want to be the answer: "))
    if(a == "easy"):
        d = random.randint(1, 10)
        e = random.randint(2, 5)
        round(b)
        print C = b - d + e  - (e/2) + ((d - e) + e/2)

Я хотел распечатать уравнение со всеми переменными и символами, когда я набираю это, я получаю синтаксическую ошибку

-3
Alex 6 Июл 2019 в 22:19

3 ответа

Лучший ответ

Вы не можете распечатать строки не в кавычках. Положите биты, которые вы хотите распечатать, точно так, как написано в кавычках, и выведите переменные как есть. Например:

print 'C =', b, '-', d, '+', e, '-', (e/2), '+', ((d - e/2)

Поиграйте с этим и посмотрите, как вы пойдете. Вы захотите подумать о том, как сделать это по-другому, например, если д-е / 2 отрицательно.

Также round(b) ничего не будет делать, он не работает на месте.

1
M Somerville 6 Июл 2019 в 19:29

Попробуйте сначала поместить ваше уравнение в str (), а затем вывести строку, чтобы оно отображало уравнение перед результатом. затем распечатайте результаты

1
Arjunsai 6 Июл 2019 в 19:25

Вот то, что я думаю, вы хотите в качестве полного решения. Он принимает одну строку уравнения в качестве входных данных. Затем заполняет это уравнение входными переменными, печатает полученное уравнение и затем оценивает его, чтобы получить результат:

import random

equation = "b - c + e  - (e/2) + ((d- e) + e/2)"

b = 12
c = 24
d = random.randint(1, 10)
e = random.randint(2, 5)

# Expand the vlaues into the equation
equation = equation.replace('b', str(b)).replace('c', str(c)).replace('d', str(d)).replace('e', str(e))

# Print the equation
print "C = " + equation

# Evaluate the equation and print the result
C = eval(equation)
print "C = " + str(C)

Пример результата:

C = 12 - 24 + 2  - (2/2) + ((6- 2) + 2/2)
C = -6

Этот код является просто демонстрацией того, что можно сделать. Вы можете взять эти идеи и обобщить их, чтобы развернуть карту имен и значений переменных в произвольное выражение без жесткого кодирования имен переменных. Карта и уравнение могут быть получены, например, из файла.

1
Steve 6 Июл 2019 в 19:45