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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

解決済

1回答

3774閲覧

Google Colaboratoryで実行するとType Error

xeno

総合スコア16

Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

0クリップ

投稿2020/10/24 06:38

編集2020/10/24 06:43

前提・実現したいこと

三角形の面積と円の面積を半径と底辺、高さを入力して求める関数を作成しています。
インストールしたPython2.7だと動くのですがですが、Google Colaboratoryで実行しようとするとエラーが発生して動きません。

発生している問題・エラーメッセージ

TypeError Traceback (most recent call last)
<ipython-input-14-0dd0a35e18e1> in <module>()
20
21
---> 22 circle_area=circle_area_function(radius) #円の面積
23 triangle_area=triangle_area_function(bottom,height) #三角形の面積
24

<ipython-input-14-0dd0a35e18e1> in circle_area_function(radius)
3
4 PI=3.14
----> 5 circle_area=radiusradiusPI
6 return(circle_area)
7

TypeError: can't multiply sequence by non-int of type 'str'

該当のソースコード

def circle_area_function(radius): #円の面積を求める関数

PI=3.14 circle_area=radius*radius*PI return(circle_area)

def triangle_area_function(bottom,height): #三角形の面積を求める関数

triangle_area=(bottom*height)/2 return(triangle_area)

print('Input radius')
radius=input() #半径
print('Input bottom')
bottom=input() #底辺
print('Input height')
height=input() #高さ

circle_area=circle_area_function(radius) #円の面積
triangle_area=triangle_area_function(bottom,height) #三角形の面積

print('Circle area is {0}\nTriangle are is {1}'.format(circle_area,triangle_area))

試したこと

使用しているのはPython2.7です。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Google Colaboratoryで使われているPythonは3系なので、inputはPython2系のraw_inputに相当します。つまり、入力時の処理が異なり、整数値を入力しても文字列として扱われます。

Python3系でも動くようにするには、input()int()で囲んで、整数値に変換するようにしてください。

Diff

1print('Input radius') 2-radius=input() #半径 3+radius=int(input()) #半径 4print('Input bottom') 5-bottom=input() #底辺 6+bottom=int(input()) #底辺 7print('Input height') 8-height=input() #高さ 9+height=int(input()) #高さ

投稿2020/10/24 07:12

編集2020/10/24 07:13
Daregada

総合スコア11990

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

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

xeno

2020/10/24 07:20

ありがとうございます。 解決できました。
Daregada

2020/10/24 07:29

おっと、小数点以下も含めて入力するのであれば、int()の代わりにfloat()を使ってください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問