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

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

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

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

Q&A

解決済

1回答

821閲覧

TypeErrorについて

退会済みユーザー

退会済みユーザー

総合スコア0

Python

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

0グッド

0クリップ

投稿2020/11/11 16:48

編集2020/11/11 17:09

前提・実現したいこと

どうすればエラーが消えますか。

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

TypeError Traceback (most recent call last) <ipython-input-16-efba91faf9af> in <module> 32 if n%2==0: 33 print(myYusha.getName(),"がパンチ") ---> 34 myYusha_life = myYusha.fight('punch') 35 enemy_life = enemy.fight('ouch') 36 if enemy_life==False: TypeError: fight() missing 1 required positional argument: 'ouch'

該当のソースコード

import random class Chara: def __init__(self,name,power,life=True): self.name = self self.power = power self.life = life def getName(self): return self.name def fight(self,punch,ouch): if self.punch: self.power += 10 if self.ouch: self.power += -10 if self.power <= 0: self.life = False myYusha = Chara('勇者',50) enemy1 = Chara('ショッカー',10) enemy2 = Chara('ジコチュー',10) lastBoss = Chara('ラスボス',30) enemies = [enemy1, enemy2, lastBoss] for enemy in enemies: print(myYusha.getName(),"と",enemy.getName(),"が戦います") while True: n = random.randint(1,10) print(n,end=": ") if n%2==0: print(myYusha.getName(),"がパンチ") myYusha_life = myYusha.fight('punch') enemy_life = enemy.fight('ouch') if enemy_life==False: print(myYusha.getName(),"は倒されました") break elif enemy_life==False: print(enemy.getName(),"は倒されました") break else: print(enemy.getName(),"がパンチ") myYusha_life = myYusha.fight('ouch') enemy_life = enemy.fight('punch') if myYusha_life==False: print(myYusha.getName(),"は倒されました") break elif enemy_life==False: print(enemy.getName(),"は倒されました") break if myYusha_life==False: break

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

miyabi_takatsuk

2020/11/11 16:56

言語はなんですか? Pythonですか? 言語の質問タグをつけて下さい。
guest

回答1

0

ベストアンサー

自分で書いたプログラムの場合:
fightのところを冷静に見直しましょう。

自分で書いたプログラムでなく、中身を全く理解していない場合:
⇒ 間違ったプログラムなので、あきらめましょう。

投稿2020/11/11 17:00

otn

総合スコア84529

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問