質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

2793閲覧

二次方程式の解を求めるpart2

LICK.K

総合スコア9

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/07/04 01:07

編集2018/07/04 01:20

前回質問したのですが、やはりうまくいかきませんでした。
インデントの正しい方法が分かりません

前提・実現したいこと

結果は定数a,b,cと 一般解の場合は x1,x2,"一般解"
重解の場合は  x1,x2,"重解"
虚数解の場合は 解は計算せず"虚数解" を表示
ax^2+bx+c=0 a≠0 a,b,cは実定数 x1,x2=-b±√b^2-4ac/2a

b^2<4acの時は虚数解を、b^2=4acの時は重解となる
平方根はmathパッケージのsqrt関数を使う
解を求める関数は自分で作ること

該当のソースコード

python

1def quad1(t): 2a, b, c = t 3import math 4if b**2-4*a*c < 0 5 return "虚数解" 6elif b**2-4*a*c == 0: 7 d = "重解" 8else: 9 d = "一般解" 10 x1 = (-b+math.sqrt(b**2-4*a*c))/2/a 11 x2 = (-b-math.sqrt(b**2-4*a*c))/2/a 12 return x1, x2, d 13def main(): 14 15 print(quad1((1, 3 ,-4))) #一般解 16 print(quad1((2, 8, 8))) #重解 17 print(quad1((3, 2, 1))) #虚数解 18main() 19

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2018/07/04 01:14

まず、文法エラーを無くしてから、投稿してください。
mather

2018/07/04 01:14

pythonは正しいインデントが必須です。このコードのままでは全く動作しませんので、インデントを修正してください。もしインデントをどうつければいいのかわからない、というところから教えなければいけない場合はそれも質問に書いてください。
LICK.K

2018/07/04 01:18

ごめんなさいインデントの正しい方法から分かりません
otn

2018/07/04 01:34

「ごめんなさいインデントの正しい方法から分かりません 」ということであれば、まずPythonの文法を勉強してください。プログラムを書くのは言語を覚えてからです。
guest

回答1

0

LICK.Kさんとは違うやり方ですが、2次方程式の解はこのように求めました。

import math
a = float(input("a="))
b = float(input("b="))
c = float(input("c="))

D = bb -4ac
if D > 0:
x1 = (-b + math.sqrt(b
b -4ac)) / ( 2a)
x2 = (-b - math.sqrt(b
b -4ac)) / ( 2a)
print("2つの実数解")
print(x1)
print(x2)
elif D == 0:
x1 = (-b + math.sqrt(b
b -4ac)) / ( 2a)
print("1つの実数解")
print(x1)
else:
x3 = -b / ( 2
a )
x4 = math.sqrt( -1*( bb - 4ac )) / ( 2a )
print("2つの虚数解")
print(x3,"+",x4,"i")
print(x3,"-",x4,"i")

投稿2018/07/06 03:04

AyAm

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問