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

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

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

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

Q&A

解決済

2回答

391閲覧

Pythonに関する質問

Ajtmd

総合スコア1

Python

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

0グッド

0クリップ

投稿2023/01/28 06:21

編集2023/01/28 06:37
コード ``````ここに言語を入力 ここに言語を入力

コード

import

1```### 前提 2 3ここに質問の内容を詳しく書いてください。 4(例) 5Pythonで1〜100の数字を用意し、特定の数字を当ててもらうシステムを作っています。 6 71回目で当てた場合は〇〇 82〜10回目で当てた場合は〇〇 9・・・ 10100回目で当てた場合は〇〇 11のようなコードを作りたいです。 12 13import random 14answer=random.randrange(1,100) 15cnt=0 prompt=""" 16一桁の数字を当ててください。 17 あなたの選んだ数字は: 18 """ 19while True: 20val=int(input(prompt)) 21cnt+=1 22if val == answer: 23print(f"おめでとう!正解は{answer}でした。{cnt}回目で当てましたね!すごい! ") 24break 25else: print(f"{cnt}回目。はずれ、やり直し") 26 27ここまでは出来ています。 28どうすれば 291回目で当てた場合は〇〇 302〜10回目で当てた場合は〇〇 31・・・ 32100回目で当てた場合は〇〇 33のような場合分けが出来ますか?

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

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

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

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

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

y_waiwai

2023/01/28 06:34

このままではコードが読めないので、質問を編集し、</>(コードの挿入)ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
Ajtmd

2023/01/28 06:40

すみません。初めたばかりなものでよく分からないです。 コードは import random answer=random.randrange(1,100) cnt=0 prompt=""" 一桁の数字を当ててください。 あなたの選んだ数字は: """ while True: val=int(input(prompt)) cnt+=1 if val == answer: print(f"おめでとう!正解は{answer}でした。{cnt}回目で当てましたね!すごい! ") break else: print(f"{cnt}回目。はずれ、やり直し") になります。 スマホからなので読み取れない可能性もあるかと思います。 これでは対応できないでしょうか?
meg_

2023/01/28 07:31 編集

・質問タイトルは「Pythonに関する質問」ではなく、質問内容が簡潔に分かるものにしましょう。(その方が回答がつきやすくなります) ・コードはインデントが判るように記入お願いします。(Pythonは特にインデントが重要です) ```コード``` のように書いてください。
guest

回答2

0

出力メッセージを if elif else で場合わ得せずに済むように書いてみました。

python3

1import random 2 3prompt = """ 41桁の数字を当ててください。 5 あなたの選んだ数字は: 6 """ 7 8messages = [ 9 [[1, 1], "すごーい!. 正解は{answer}でした。{cnt}回目で当てましたね!"], 10 [[2, 5], "素晴らしい。正解は{answer}でした。{cnt}回目で当てましたね!"], 11 [[6, 9], "正解は{answer}でした。{cnt}回目で当てましたね!"], 12 [[10, 999], "やっと当てましたね。正解は{answer}でした。{cnt}回目で当てました!"] 13] 14 15answer = random.randrange(1,10) 16print(answer) 17cnt = 0 18while True: 19 val = int(input(prompt)) 20 cnt += 1 21 if val == answer: 22 break 23 24 print(f"{cnt}回目。はずれ、やり直し") 25 26for m in messages: 27 if m[0][0] <= cnt <= m[0][1]: 28 print(m[1].format(answer=answer, cnt=cnt)) 29 break

messages の [n, m] は, cnt が n から m の範囲の場合を意味するようにしています。

投稿2023/01/29 01:44

katoy

総合スコア22324

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

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

0

ベストアンサー

python

1if val == answer: 2 print(f"おめでとう!正解は{answer}でした。{cnt}回目で当てましたね!すごい! ")

この 「if val == answer: 」のブロック内があたったときのことですから、この中でif文で条件分けすればいいでしょう。

python

1if val == answer: 2 print(f"おめでとう!正解は{answer}でした。") 3 if cnt == 1: 4 print(f"神ですね! なんと、{cnt}回目で当ててしまいました!") 5 elif 1 < cnt < 10: 6 print(f"天才ですね! {cnt}回目で当たりました!") 7# 以下略

投稿2023/01/28 07:35

TakaiY

総合スコア12803

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

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

Ajtmd

2023/01/28 08:06

できました! ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問