Система должна возвращать положительное число, но Python всегда возвращает Y как отрицательное число, в то время как это не должно - PullRequest
0 голосов
/ 05 ноября 2019
def cramer_input(): #Chiede l'input dei coefficienti della colonna x, y e i termini noti.

    #Variabili

    global cx1
    global cx2
    global cy1
    global cy2
    global tn1
    global tn2
    print('Inserisci il coefficiente di X della prima riga')
    cx1 = float(input("INPUT > "))
    print("Inserisci il coefficiente di X nella seconda riga")
    cx2 = float(input("INPUT > "))
    print("Inserisci il coefficiente di Y nella prima riga")
    cy1 = float(input("INPUT > "))
    print("Inserisci il coefficiente di Y nella seconda riga")
    cy2 = float(input("INPUT > "))
    print("Inserisci il termine noto della prima riga")
    tn1 = float(input("INPUT > "))
    print("Inserisci il termine noto della seconda riga")
    tn2 = float(input("INPUT > "))

    dxy = ((cx1) * (cy2)) - ((cx2) * (cy1))
    dxp = ((tn1) * (cy2)) - ((tn2) * (cy1))
    dyp = ((tn1) * (cx2)) - ((tn2) * (cx1))

    dx = dxp / dxy
    dy = dyp / dxy

    print("X = " + str(dx))
    print("Y = " + str(dy))

    qr = input("Chiudere (q) o rieseguire (R) ?")
    while qr == "r" or "R":
        cramer_input()
    else:
        quit()

def menu():
    print("Titolo: Risoluzione di sistemi lineari con il metodo di Cramer")
    print("Autore: Francesco Parisio")
    print("Digita I per iniziare, Q per chiudere.")
    iq = input("INPUT I/Q > ")
    if iq == "I" or "i":
        cramer_input()
    elif iq == "Q" or "q":
        quit()

menu()

Я пытался использовать этот алгоритм для разрешения линейной системы. Когда я нажимаю ENTER, он работает, но Y всегда отрицателен, и я не хочу, чтобы в решении (1;4) 4 всегда было -4.

. Я использовал этот пример:

3x -y = -1

{

x + y = 5

Это должно вернуть 1; 4, но вернет 1; -4

Помогите мне, пожалуйста, спасибо.

...