![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Pythonの問題です
whileは使わないでかきたいのですが
どなたかやり方教えてください
for文を利用して隠された単語を当てるゲームを作成してください。
出題する単語リスト:["banana", "orange", "apple", "kiwi"]
条件:
・単語リストからランダムに出題
・初期状態はすべて"-"で隠された状態にすること
・プレイヤーが挑戦できる回数は、文字数分可能(文字数はlen()でカウントすること)
・単語を当てる際は1文字ずつ受け取る想定でOK
・文字が問題の単語に含まれる場合はどこと一致しているのか表示
・不正解の場合は、残りの挑戦回数を表示、挑戦回数がゼロになったら正解を表示
・単語を全て当てた際は、コメントと当てた単語を表示
・ゲーム終了後は、終了した旨を表示すること(繰り返し処理が終了後に表示)
表示例については以下の実行結果を参考にしてください!
【実行結果】
単語当てゲームへようこそ!
挑戦回数は4回です!
単語: ['_', '_', '_', '_']
1文字、入力してください: a
不正解!残りの挑戦回数: 3
1文字、入力してください: i
正解!現在の単語: ['_', 'i', '_', 'i']
1文字、入力してください: k
正解!現在の単語: ['k', 'i', '_', 'i']
1文字、入力してください: w
正解!現在の単語: ['k', 'i', 'w', 'i']
おめでとう!単語は 'kiwi' でした!
ゲーム終了。
単語当てゲームへようこそ!
挑戦回数は4回です!
単語: ['_', '_', '_', '_']
1文字、入力してください: a
不正解!残りの挑戦回数: 3
1文字、入力してください: z
不正解!残りの挑戦回数: 2
1文字、入力してください: q
不正解!残りの挑戦回数: 1
1文字、入力してください: e
不正解!残りの挑戦回数: 0
残念!正解は 'kiwi' でした。
ゲーム終了。
No.3
- 回答日時:
chatGPTに問い合わせました。
問い合わせ内容は、以下のようにしました。
----------------------------------------------
言語 Python
隠された単語を当てるゲームを作成してください。
出題する単語リスト:["banana", "orange", "apple", "kiwi"]
条件:
・単語リストからランダムに出題
・初期状態はすべて"-"で隠された状態にすること
・プレイヤーが挑戦できる最大回数は、単語の文字数分とする。(文字数はlen()でカウントすること)
・for文を使用して最大回数以内の繰り返しを行うこと。
・単語を当てる際は1文字のみが入力されることを前提として良い。
・文字が問題の単語に含まれる場合はどこと一致しているのか表示
・不正解の場合は、残りの挑戦回数を表示、挑戦回数がゼロになったら正解を表示
・単語を全て当てた際は、コメントと当てた単語を表示
・ゲーム終了後は、終了した旨を表示すること(繰り返し処理が終了後に表示)
表示例については以下の実行結果を参考にしてください!
【実行結果例1】
単語当てゲームへようこそ!
挑戦回数は4回です!
単語: ['_', '_', '_', '_']
1文字、入力してください: a
不正解!残りの挑戦回数: 3
1文字、入力してください: i
正解!現在の単語: ['_', 'i', '_', 'i']
1文字、入力してください: k
正解!現在の単語: ['k', 'i', '_', 'i']
1文字、入力してください: w
正解!現在の単語: ['k', 'i', 'w', 'i']
おめでとう!単語は 'kiwi' でした!
ゲーム終了。
【実行結果例2】
単語当てゲームへようこそ!
挑戦回数は4回です!
単語: ['_', '_', '_', '_']
1文字、入力してください: a
不正解!残りの挑戦回数: 3
1文字、入力してください: z
不正解!残りの挑戦回数: 2
1文字、入力してください: q
不正解!残りの挑戦回数: 1
1文字、入力してください: e
不正解!残りの挑戦回数: 0
残念!正解は 'kiwi' でした。
ゲーム終了。
----------------------------------------------
chatGPTが作成したコードは、以下の通りです。
実際に動かしてみると正常に動作します。
このサイトにアップすると、インデントが崩れるので、あなたのほうで
インデントは正しく修正してください。
インデントの修正が難しい場合は、私がした質問と全く同じ内容の質問を
chatGPTになげてください。そうすると、正しいインデントのコードが入手できます。
import random
def hide_word(word):
return ['_' for _ in word]
def reveal_letter(word, hidden_word, letter):
found = False
for i in range(len(word)):
if word[i] == letter:
hidden_word[i] = letter
found = True
return found
def game():
words = ["banana", "orange", "apple", "kiwi"]
word = random.choice(words)
hidden_word = hide_word(word)
max_attempts = len(word)
print("単語当てゲームへようこそ!")
print(f"挑戦回数は{max_attempts}回です!")
print(f"単語: {hidden_word}")
for attempts in range(max_attempts, 0, -1):
guess = input("1文字、入力してください: ")
if len(guess) != 1:
print("1文字だけ入力してください。")
continue
if reveal_letter(word, hidden_word, guess):
print("正解!現在の単語:", hidden_word)
else:
print(f"不正解!残りの挑戦回数: {attempts - 1}")
if '_' not in hidden_word:
print(f"おめでとう!単語は '{word}' でした!")
break
else:
print(f"残念!正解は '{word}' でした。")
print("ゲーム終了。")
# ゲームの実行
game()
No.1
- 回答日時:
作成条件を元に、ソフトウェアを実装するやり方
1. 大雑把な流れ図を書く
2. 作成条件の各項目を満たすように流れ図を詳細化
3. 流れ図の箱ごとの処理を実装
3.1. 難しい処理ならば、箱の中身だけで別の流れ図を書いて関数化する
4. 流れ図通りに、箱ごとの処理を並べて動作確認
例) 大雑把な流れ図
出題単語, 表示単語, 挑戦回数 を計算する
挨拶文 を表示
挑戦回数 だけ繰り返し
_ 入力促進文 を表示し1文字を受け取る
_ 入力から表示単語を更新
_ 正解文 または 不正解文 を表示
_ 出題単語 == 表示単語 なら 繰り返し終了
繰り返し終了
祝福文 または 残念文 を表示
終了した旨 を表示
参考)
https://ja.wikipedia.org/wiki/%E3%83%95%E3%83%AD …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- スタンプ・絵文字・顔文字 前回質問の続き 1 2022/08/24 16:06
- 英語 ソシュール言語観による品詞、単語、辞書理解の誤り 4 2022/11/24 12:27
- 英語 ランダム単語 1 2023/12/27 16:42
- 英語 文頭にない「無冠詞+単数名詞」が総称表現なのかとその見分け方について(an accedent) 18 2024/04/02 11:03
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- Visual Basic(VBA) VBAを使用した時間管理 4 2024/03/25 12:45
- その他(セキュリティ) どれが正しいですか? 辞書攻撃に該当するものはどれか。 1. 複数サイトで同一の利用者IDとパスワー 1 2023/11/22 22:03
- Excel(エクセル) Excelファイルが閉じられい! 3 2024/02/01 19:26
- 大学受験 文系旧帝大志望の高三です。 現在、志望校との距離がかなり遠いです。そこで、自分でこれから合格するため 3 2023/09/22 18:38
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
プログラミングの課題がわからないので教えていただきたいです。特にサークル関数を定義した後に呼び出す方
C言語・C++・C#
-
C言語をコンパイルするとコンピュータ上でどう動くかというコードになるみたいな説明をよく聞くのですがこ
C言語・C++・C#
-
mallocについて
C言語・C++・C#
-
-
4
これなにがちがうんですか??
C言語・C++・C#
-
5
C言語の関数と配列に関する質問
C言語・C++・C#
-
6
double型が正常に認識されていない恐れ
C言語・C++・C#
-
7
gccを行ってもexeファイルが生成されない
C言語・C++・C#
-
8
だれがとけるの?
C言語・C++・C#
-
9
c++でテンプレートのコードでわからないことがあります
C言語・C++・C#
-
10
0 == False はいいけど
C言語・C++・C#
-
11
VisualStudio2022でC言語プログラムで全角文字を使用すると不明なエラーが表示される
C言語・C++・C#
-
12
質問失礼します。 プログラム言語を一つも知らないのですが、C♯の勉強をしてみたいです。おすすめの教材
C言語・C++・C#
-
13
こんなことてしますか??
C言語・C++・C#
-
14
[C言語]fputsとfprintfの違い
C言語・C++・C#
-
15
プログラミングについて。 1つのループで Aという計算と Bという計算をするのと これらを分けて2つ
C言語・C++・C#
-
16
Linux Cプログラミングを学ぶための書籍
C言語・C++・C#
-
17
C言語について。
C言語・C++・C#
-
18
プログラミング言語の制作方法について
C言語・C++・C#
-
19
c言語
C言語・C++・C#
-
20
C言語 列挙型(enum型)変数について
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Created by~それともProduc...
-
縦書きの場合の※の位置は?
-
飲食店やホテルの「店舗一覧」...
-
漢字「渣」のシフトJISコー...
-
「当然に」とは?
-
アルファベットを並び替えて別...
-
【エクセルで一発検索機能をつ...
-
"administrative assistant"の...
-
word2007の1ファイル内で複数の...
-
英単語の後方一致検索
-
situation と status 「状況」...
-
Full(フル)の対義語・反意語が...
-
round の対義語は何ですか?
-
単語の途中での改行のルール
-
高沸
-
「ぜひもの」という言葉の意味は?
-
「気付く」と打ちたい
-
「多国籍料理」を単語で。。。
-
英語質問
-
英語の対義語を教えてください
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
英単語の後方一致検索
-
Created by~それともProduc...
-
Full(フル)の対義語・反意語が...
-
高沸
-
縦書きの場合の※の位置は?
-
アルファベットを並び替えて別...
-
「けち」の反対語
-
DoggyとPuppyの違いは?
-
somehow『何故か』 somewhat『...
-
漢字「渣」のシフトJISコー...
-
「当然に」とは?
-
パソコン用語ひとつもわかりません
-
大学 オンライン小テスト 選択...
-
"administrative assistant"の...
-
10年間は"decade"、では20...
-
かし って漢字 xperiaの辞書に...
-
英語質問
-
もうすぐ英検3級があるので英単...
-
飲食店やホテルの「店舗一覧」...
-
「手書き修正した」という意味...
おすすめ情報