2016-03-21 16 views
0

Şu anda ikinci dereceden denklemi yaparken hayali sayıların nasıl görüneceğini anlamakta zorluk çekiyorum. Benim görevim ikinci dereceden denklemi yapmak ve hayali sayıları elde etmek ama oraya gitmek için çok zor bir zaman geçiriyorum. teklif edebileceğiniz herhangi bir yardım harika olurdu! İşte İkinci dereceden denklem hesaplanırken cmath kullanmadan nasıl hayali numaralar alabilirim?

i anda sahip kodudur:

import math 

    print "Hello, please insert 3 numbers to insert into the quadratic equation." 

a = input("Please enter the first value: ") 

b = input("Please enter the second value: ") 

c = input("Please enter the third value: ") 

rootValue = b**2 - 4*a*c 

if rootValue < 0: 

    print (-b-(rootValue)**(.5))/(2 * a) 

if rootValue > 0: 
    print ((-b + (rootValue)**(1/2)) /(2 * a)) 

if rootValue == 0: 
    print -b/(2*a) 

yardım lütfen !!! Şu an çok sıkışmışım. Eğer rootValue < 0 ise sorunla bir şeyler yapmak zorunda olduğunu düşünüyorum; ama bunu nasıl yapacağımı bilmiyorum. Ayrıca 'import cmath' kullanma iznim yok, bunu yapmam gerekiyor, böylece bunu bu şekilde yapabilirsiniz.

cevap

0

Kodunuzda karmaşık sayıların nasıl temsil edileceğinin yanı sıra birkaç sorun vardır.

  1. rootValue pozitif veya negatif olup olmadığı önemli değil, hala iki kökleri var (-b +/- sqrt (rootValue)/2a: rootValue <> 0 ise, alway İKİ kökleri olduğunu unutmayın Dallanma ve sadece iki kökten birini sağlamanız gerekir.İlk iki noktaya gerek yok
  2. Kök kökünü aldığınızda karmaşık sonuç alabilmeniz için rootValue karmaşıklığı oluşturmak için (b 2 - 4 * a * c, 0) ya da (b 2 - 4 * a * c, 0) + 0j.
  3. 'a kadar olan herşeyi her biri için 0,5 kökleri, değil th e (1/2) gücü, bir deyimde yaptığınız gibi
  4. Tamlık açısından, a = 0 durumuyla uğraşmak isteyebilirsiniz.

Hala sorun yaşıyorsanız, bize bildirin.

İlgili konular