プログラミング初心者です。randomモジュールの使い方を勉強し、数字あてゲームを作っているのですが、質問があります。
正解の数字の桁数を3桁に指定したとします。
random.randint(0,999)とすると、032は32になってしまいます。
これだと答えに32を入力すると正解になってしまいますが、「032」と入れないと正解にならないようにしたいのですが、どうすればいいでしょうか。コード例を添えていただけると助かります。
一つ、ストリング型を使った方法を思いついたのですが、こんなに面倒なことをしなくてもいいはずだと思い質問させていただきました。↓
import random
keta1 = str(random.randint(0,9))
keta2 = str(random.randint(0,9))
keta3 = str(random.randint(0,9))
seikai = keta1+keta2+keta3
guess = str (input ("3桁の数字を入力してください"))
if keta1 == guess[0] and keta2 == guess[1] and keta3 ==guess[2]:
____print ("正解!")
else:
____print ("不正解")
____print ("正解は:",seikai)
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
以下のようにしてください。
seikaiには,"000"~"999"の文字列が格納されます。
ーーーーーーーーーーーーーーーーーーーーーーー
# coding: UTF-8
import random
num = random.randint(0, 999)
seikai = format(num,"03d")
print(seikai) #確認用
No.3
- 回答日時:
#coding: cp932
# ↑は使用環境に合わせて
import random
seikai = random.randint(0,999)
#print(seikai)
while True:
guess = input("3桁の数字を入力してください:")
if guess.isdigit():
break
print("数字以外が入力されています。再入力してください。")
if len(guess) == 3 and int(guess) == seikai:
print ("正解!")
else:
print ("不正解")
print ("正解は:{0:03d}".format(seikai))
#print("正解は:%03d" % seikai)
No.2
- 回答日時:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import random
if __name__ == '__main__':
seikai = random.randint(0, 999)
guess = input("3桁の数字を入力して下さい")
if len(guess) == 3 and seikai == int(guess):
print("正解")
else:
print("不正解\n正解は{0}".format(seikai))
No.1
- 回答日時:
ごめんね、pythonは知らないんだけど
整数をstring型に変換できるなら
整数のフォーマットを指定して変換できないのかな?
例えば整数を表示するときに桁数を指定して表示できるなら
3桁を指定して表示した場合、032と表示されると思う
それをそのまま変換に流用はできないかな?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- その他(プログラミング・Web制作) Pythonのライブラリ、randomについて 3 2022/09/20 14:30
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- Ruby vscode 文字化け 1 2022/05/21 19:17
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- その他(プログラミング・Web制作) 物理の斜方投射で目盛りに数値を入れたい 2 2023/05/27 06:32
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
16進の10進変換について
-
perl言語について
-
pythonで演算子を変数に代入す...
-
掲示板からのメールの本文中に...
-
シェルスクリプトで、空白(ス...
-
UWSCのSELECT文の記述方法
-
Lispの問題
-
qq!!の意味を教えてください。
-
【至急!!!】python言語で本を見...
-
Adafruit LIS3DH 3軸加速度セン...
-
Perlで文字列比較
-
C言語
-
変数の中の数値を年月日付きに...
-
ランダム文字列
-
PerlCGIでクエリの検索結果が途...
-
Perl 条件一致なし 合計値 0表示
-
動的ハッシュを作って取り出し...
-
変数 $abc と ${abc}
-
パイソンのクラスについて
-
小数点付きの余分な桁を消すには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
16進の10進変換について
-
パイソンのクラスについて
-
Pythonでターミナルに文字を出...
-
文字のカラーとフォントの指定...
-
シェルスクリプトで、空白(ス...
-
I2C接続のLCDディスプレイを使う
-
【至急!!!】python言語で本を見...
-
数値かどうかの判定方法
-
awkの正規表現での最左最短マッ...
-
Pythonでコンソールをクリアす...
-
int(input("○○"))の使い方
-
UWSCのSELECT文の記述方法
-
数値英単語変換
-
pythonで演算子を変数に代入す...
-
C言語
-
switch文のエラーについて
-
10進数→2進数の出力について
-
pythonを使ったプログラミング...
-
c言語 16進数の2進数への変換
-
Pythonでプログラミング プログ...
おすすめ情報