نوشتن اسکریپت حل معادله درجه ۲ در پایتون :: Mr Python | مستر پایتون

نوشتن اسکریپت حل معادله درجه ۲ در پایتون

  • ۵۲۶۰

نوشتن اسکریپت حل معادله درجه ۲ در پایتون

درود به همه

 

در این پست میخوایم اسکریپتی بنویسیم که معادلات درجه ۲ را حل کند.

 

 

بی مقدمه میریم سراغ اصل مطلب برای اینکار ابتدا یه فایل پایتونی میسازیم .

 

 

کد های زیر رو مینویسیم داخلش :

# hale moadelat daraje 2
a,b,c = int(input("a : ")) , int(input("b : ")) , int(input("c : "))
delta = ((b**2) - 4*a*c)
print("")
print("Δ = {}".format(delta))
if delta >= 0:
    x1 = (-b+(delta**0.5))/(2*a)
    x2 = (-b-(delta**0.5))/(2*a)
    print ("x1 = {}".format(x1))
    print ("x2 = {}".format(x2))
else:
    print("error : Δ < 0")
    exit()

 

خب اول که کاملا واضحه . میدونید که هر معادله درجه دو به فرم زیر است :

ax2 + bx + c = 0

 

خب ما برا حل این معادله نیاز داریم تا a , b ,c را بدانیم . پس در خطوط ابتدایی کد این سه مقدار را از کاربر میگیریم . سپس باید مقدار دلتا را حساب کنیم .

Δ = b2 - 4*(a)*(c)

خب میبینید که مقدار دلتا رو هم در کد طبق رابطه ی بالا حساب کردیم .

 

سپس دو جواب معادله به صورت زیر است :

x1 = (-b + Δ½) ÷ (2 * a)

x2 = (-b - Δ½) ÷ (2 * a)

 

باز هم همونطور که میبینید این دو رابطه هم در کد حساب شده که دو جواب معادله ما هستش .

فقط یه نکته رو باید بگم که میدونید . اگه دلتا برابر صفر باشه هر دو ریشه باهم برابر هستند (ریشه مضاعف) و اگه دلتا بزرگ تر از صفر باشه دو جواب متفاوت و در صورتی که دلتا منفی باشد معادله جواب ندارد بنابر این برنامه متن ارور را چاپ میکند.

 

 

خب توضیح دیگه ای نیاز نیست اگه معادلات درجه دو رو بلد باشین حل کنین و پایتون هم کار کرده باشین همه چیو گرفتین .

 

یا حق

  • سلام این کد توی Visual Studio Code درست کار میکنه ولی اگه مستقیم روی فایل پایتون بزنی اعداد رو ازت میگره و بسته میشه چرا؟

     

    پاسخ:
    درود . این ویژگی کنسول (اون صفحه مشکی رنگی که وقتی فایل رو باز میکنید میاد و بسته میشه) هستش . وقتی کارش تموم میشه صبر نمیکنه خودش بسته میشه . فقط وقتایی که یه کاری داره میکنه یا یه چیزی از کاربر میخواد بگیره صبر میکنه . بنابراین یه input خالی بزارید آخر اسکریپت که باز بمونه اخر کار .
  • سلام ممنون :)

    امتحانا اگه مجازی شد به کار میبریم xd

    پاسخ:
    به به قبول باشه :)
    آخ ازدست کلاسای مجازی ...
  • It's in fact very complicated in this active life to listen news on Television, so I only use the web for that purpose,
    and take the newest news.
    پاسخ:
    :| ok
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی