🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

例外処理

例外処理(Exception handling)とは、プログラム実行中に異常が発生した場合、通常フローから外れ、例外として別の処理を行うようにデザインされたプログラミング言語構造です。

Python

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

Q&A

2回答

726閲覧

プログラムを指摘していただきたい

退会済みユーザー

退会済みユーザー

総合スコア0

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

例外処理

例外処理(Exception handling)とは、プログラム実行中に異常が発生した場合、通常フローから外れ、例外として別の処理を行うようにデザインされたプログラミング言語構造です。

Python

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

0グッド

1クリップ

投稿2019/12/31 10:41

編集2019/12/31 10:51

プログラミング初心者です。解答がないため、以下の題に対するプログラムの各問題点、または改善点を指摘していただきたいです。
1.数字を入力値として受け取り、その数字を2乗した戻り値を返す関数を書いてみよう。

def f(p): """ Returns p * 2 :param p: a number. :type param p: int :return: multiplication of p and 2. :rtype: int """ return p * 2 q = f(5) print(q)

2.文字列を引数とし、その文字列を出力する関数を書いてみよう。

def 文字列_引数(jinnjya): """ Returns "jinnjya". :param jinnjya: string. :return: str(jinnjya). """ print("jinnjya")

文字列_引数(1)

3.3つの必須引数と2つのオプション関数がある関数を書いてみよう。

def f(x,y,z,o=14,p=56): """ Returns x * y * z * o * p :param x : a number. :param y : a number. :param z : a number. :return: multiplication of x , y , z , o and p. """ return x * y * z * o * p result = f(1,2,3) print(result)

4.文字列をfloat型に変換して戻り値とする関数を、例外処理と共に書こう。

try: def str_文字(x): return float(x) """ :param x : a number. """ x = 12 print(str_文字(x)) except ValueError: print("Invalid Object")

5.2つの関数からなるプログラムを書いてみよう。1つ目の関数は整数を引数として受け取り、その整数を2で割って求められる整数を出力として返そう。1つ目の関数の戻り値を変数として保存し、2つ目の関数の引数として渡そう。2つ目の関数は受け取った引数に4でかけた整数を返そう。

int (1757) x = int (1757) def 整数_引数1(): """ Returns x / 2. :return: Division x and 2. """ global x return x / 2 y = 整数_引数1() print(y) def 整数_引数2(): """ Returns y * 4 :return:Multiplication of y and 4 """ global y return y * 4 z = 整数_引数2() print(z)

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

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

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

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

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

guest

回答2

0

python に限りませんが、ロジックの正当性を確かめる方法の一つに、「テストを行う」方法があります。

テストフレームワークの一つを紹介します。
学習してみると良いです。
unittest --- ユニットテストフレームワーク

投稿2020/01/02 11:08

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

** 1.数字を入力値として受け取り、その数字を2乗した戻り値を返す関数を書いてみよう。 **
まず、Pythonにおいて、pの2乗は

p ** 2

と表記します。

x * 2

は、単に「pの2倍」にしかなりません。

** 2. 文字列を引数とし、その文字列を出力する関数を書いてみよう。**
まず、以下の二つは異なることを覚えなければなりません。

jinnjya "jinnjya"

上の""で囲まれていないjinnjyaは「変数」と呼び、jinnjyaという名の付いた箱だと思ってください。このjinnjyaという名の付いた箱に、「torii」という文字を入れたり、「tera」という文字を入れたりできます。
対して、""で囲まれたjinnjyaは、文字です。
つまり、

print("jinnjya")

は、文字通り「jinnjya」が出力されますが、

print(jinnjya)

は、jinnjyaという名の付いた箱に何の文字が入っていたかによって出力結果が変わります。今回は、受け取った文字をjinnjyaという箱に入れて、その箱の中の文字を出力したいので、正しくは

print(jinnjya)

となります。

** 3.3つの必須引数と2つのオプション関数がある関数を書いてみよう。 **
正しそうです。

** 4.文字列をfloat型に変換して戻り値とする関数を、例外処理と共に書こう。 **
まず、今回の問題は「文字列を受け取り、その文字列の型によって例外処理を行う関数を書く」問題なので、関数定義を一番外に書きましょう。
また、関数名に「日本語」は使いませんので、そこを直しましょう。また、なぜかxに12を代入してしまっているのも問題なので、例えば以下のように直してみてはいかがでしょうか。

def str_x(x): try: return float(x) """ :param x : a number. """ except ValueError: print("Invalid Object") return a = str_x("8") #aという箱にstr_x("8")で返された結果を格納しています。 b = str_x("moji") #bという箱にstr_x("moji")で返された結果を格納しています。 print(a) print(b)

** 5.2つの関数からなるプログラムを書いてみよう。1つ目の関数は整数を引数として受け取り、その整数を2で割って求められる整数を出力として返そう。1つ目の関数の戻り値を変数として保存し、2つ目の関数の引数として渡そう。2つ目の関数は受け取った引数に4でかけた整数を返そう。 **

本問は、以上のことをよく読んで自力で頑張ってみてください。そんなに難しくはありません。
応援しています。

投稿2020/01/02 08:51

編集2020/01/02 08:52
Koichiro-Kanaya

総合スコア8

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問