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

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

新規登録して質問してみよう
ただいま回答率
85.35%
プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Python

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

Q&A

解決済

1回答

1172閲覧

python初心者です

hutana

総合スコア1

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Python

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

0グッド

0クリップ

投稿2020/09/21 10:05

編集2020/09/21 10:32

import

1def start_messege(): 2 print('じゃんけんスタート') 3 4def get_my_hand(): 5 print('自分の手を入力してください') 6 my_hand = int(input('0:グー, 1:チョキ, 2:パー')) 7 return(my_hand) 8 9def get_you_hand(): 10 you_hand = random.randint(0, 2) 11 return(you_hand) 12 13def view_hand(hand_diff): 14 if hand_diff == 0: 15 print('あいこ') 16 elif hand_diff == -1 or hand_diff == 2: 17 print('勝ち') 18 else: 19 print('負け') 20 21start_messege() 22 23get_my_hand() 24my_hand = get_my_hand 25 26get_you_hand() 27you_hand = get_you_hand 28 29hand_diff = my_hand - you_hand 30view_hand(hand_diff) 31```### 前提・実現したいこと 32pythonでじゃんけんゲームをつくりたいです 33 34 35### 発生している問題・エラーメッセージ

TypeError Traceback (most recent call last)
<ipython-input-8-285d7559df91> in <module>()
28 you_hand = get_you_hand
29
---> 30 hand_diff = my_hand - you_hand
31 view_hand(hand_diff)

TypeError: unsupported operand type(s) for -: 'function' and 'function'

### 該当のソースコード ### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) 初心者ですのでここはこうしたほうが良い等の助言もあればよろしくお願いします

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

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

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

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

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

meg_

2020/09/21 10:07

コードは「コードの挿入」で記入してください。
hutana

2020/09/21 10:35

このサイトを初利用するので伝わりにくい質問文を送ってしまいました。すみませんでした。 まだ、何か修正すべき点があったら言ってください。
Orlofsky

2020/09/21 11:05

> タイトルは質問の内容が想像できるものに修正のこと。... って理解して対応できるだけの国語力は必要です。
guest

回答1

0

ベストアンサー

Python

1get_my_hand() 2my_hand = get_my_hand

上記では以下の動作になります。

  1. get_my_hand()が実行される(が、変数に入れてないので戻り値は無視される
  2. my_handにget_my_hand(数値ではなく関数そのもの)を代入する

そして最後にmy_hand - you_handで「関数同士の引き算」という未定義の計算をしようとしてエラーになっております。

以下のようにすれば、意図した動作になると思います。

Python

1my_hand = get_my_hand()

投稿2020/09/21 10:17

fiveHundred

総合スコア10152

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

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

fiveHundred

2020/09/21 10:22

なお、「質問への追記・修正、ベストアンサー選択の依頼」に寄せられた内容はちゃんと修正しておいてくださいね。
hutana

2020/09/21 10:58

無事動作しました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問