ここから本文です

pythonについての質問です。 大学の授業でpythonを扱っているのですが、「キーボ...

yfp********さん

2017/12/2204:16:05

pythonについての質問です。
大学の授業でpythonを扱っているのですが、「キーボードから x1, y1, x2, y2 を入力し、(x1,y1), (x2,y2)で決定される線分を半径とする円の面積を求める(値を返す

)関数を作り、実行しなさい。
備考:キーボードから4個の値を入力する場合、一行で、たとえば 1.0 2.0 5.0 7.0 のように入力する方法はありますが、今の知識では無理なので、input関数を4回使って入力するようにしなさい」という課題が出され、作ってみたのですがうまく動きません。
どこがおかしいか教えていただけると幸いです。

import math
def area(x,y):
math.pi*{math.sqrt(x**2+y**2)}**2
return math.pi*{math.sqrt(x**2+y**2)}**2

x1=input("1つ目のxの値は?")
x=int(x1)

y1=input("1つ目のyの値は?")
y=int(y1)

z=area(x,y)
print("面積は、",z,"です")

x2=input("2つ目のxの値は?")
x=int(x2)

y2=input("2つ目のyの値は?")
y=int(y2)

z=area(x,y)
print("面積は、",z,"です")

閲覧数:
110
回答数:
2

違反報告

ベストアンサーに選ばれた回答

k_w********さん

2017/12/2206:03:34

上手く動かないって曖昧な感じがします。

def area(x,y):
math.pi*{math.sqrt(x**2+y**2)}**2 ←★これ意味ないっしょ
return math.pi*{math.sqrt(x**2+y**2)}**2

そこを消せば動かない訳ではありませんけど、目的と違うというなら

>(x1,y1), (x2,y2)で決定される線分を半径とする円の面積を求める

ここじゃないのかな?
最近の人は方眼紙って使わないのかもですが、2点の座標間を半径とするなら円は1つしか作られないと思いますよ?
なのに答えが2つ出てくるのはおかしな話ですよね。

  • k_w********さん

    2017/12/2206:12:44

    x = abs(int(x1)-int(x2))
    y = abs(int(y1)-int(y2))

    z=area(x,y)
    print("面積は、",z,"です")

    辺りが必要なのかな?

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2017/12/22 15:22:30

解決しました。おっしゃる通り、そもそもの問題の意味の解釈がおかしかったです。プログラムは上手く動きました。ありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

ikt********さん

2017/12/2211:19:08

1.
math.pi*{math.sqrt(x**2+y**2)}**2

計算式の項をくくる目的で ブレース { } を
使うという構文は、Python にはありません。
くくりたいならかっこ ( ) を使う。

2.
既に指摘されてるけど、そもそも題意を理解できてないように見える。

> (x1,y1), (x2,y2)で決定される線分を半径とする...
を求めようとしている意思が、見えない。

4入力から「1個の」答えを求めて出力する課題でしょ?

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる