2015-07-05 17 views
5

Herhangi biri bana ikinci dereceden denklemleri çözmek için python kodumun neden çalışmadığını söyleyip söyleyemediğini merak ediyordum. Baktım ve herhangi bir hata bulamadım. a = 1 b = -4 ve her c = -3 I bekliyor 1 ve 4, ancak 5.5 olsun ve amikinci dereceden denklemler için yanlış cevaplar

print("This program will solve quadratic equations for you") 

print("It uses the system 'ax**2 + bx + c'") 

print("a, b and c are all numbers with or without decimal \ 
points") 

print("Firstly, what is the value of a?") 

a = float(input("\n\nType in the coefficient of x squared")) 

b = float(input("\n\nNow for b. Type in the coefficient of x")) 

c = float(input("\n\nGreat. now what is the c value? The number alone?")) 

print("The first value for x is " ,(-b+(((b**2)-(4*a* c))* * 0.5)/(2*a))) 

print("\n\nThe second value for x is " ,(-b-(((b * * 2)-(4*a*c))** 0.5)/(2*a))) 

0,5

+0

Aldığınız hata nedir? Ayrıca beklenen çıktı nedir ve bunun yerine ne elde ediyorsunuz? – Leb

+0

Merhaba, görüşleriniz için teşekkürler! İnsanların yardım etmekle ilgilendiklerini bilmek gerçekten cesaret verici. Peki ne oldu a = 1 b = -3 ve c = -4 Sadece asgari şeyler yazarak almak için bekliyor -1 ve 4 ama 5.5 olsun ve 0.5 –

+0

deneyin @MichaelDunwoody am zaman olduğu python yorumlayıcısında, cevabımda gösterdiğim gibi. Ardından buradaki terminalden yapıştırın ve hangi parçaların istediğinizden farklı olduğunu bize açıklayın. – CrazyCasta

cevap

9

Kişisel sorun kuadratik formül yapmaya çalışır kısmındadır:

(-b+(((b**2)-(4*a* c))* * 0.5)/2*a) 

sorun */ böylece 2'ye bölünüp ediyoruz ve daha sonra a ile çarpılması ile aynı önceliğe sahip olmasıdır. Ayrıca parantezleriniz kapalıdır, bu yüzden gereksiz olanları düşürdüm ve yanlış olanları değiştirdim. Kısacası, -b bölümlemeden önce karekök ile bir araya getirilmiyordu. Ne istediğiniz:

(-b+(b**2-4*a*c)**0.5)/(2*a) 

P.S. Diğer baskı yana

>>> a = 2 
>>> b = 1 
>>> c = 3 
>>> (-b+(((b**2)-(4*a* c))* * 0.5)/2*a) 
got blah, expected blam 

ve giriş yapma (eğer oldukça kolay atlatmanın mümkün olmalıdır) sorumlu değildir: soran sorular uğruna, gibi bir şey şeklinde sormak daha iyi olurdu.

+2

Ayrıca '' '' '' '' '' '' kullanmak için bir boşluk olmamalı operatör – khelwood

+0

@khelwood Hmm, Sadece sözdizimsel olarak doğru olan bir kod yayınladığını ve pythonun alanı önemsemediğini varsaydım. İyi yakalama. – CrazyCasta

+0

Evet, bu site, hem asteriks ' –

İlgili konular