質問編集履歴

1

プログラムコードを追加

2022/04/20 23:15

投稿

y1224
y1224

スコア1

test CHANGED
File without changes
test CHANGED
@@ -12,35 +12,135 @@
12
12
  - Pythonのファイルをどう実行させるかを、どんなファイル構成にしたらいいのかを調べる
13
13
  - 具体的には、indexファイルの内容
14
14
  - そのファイルのギットハブへの乗せ方を調べること
15
- - ギットジャブとherokuとの連携
15
+ - GitHubとherokuとの連携
16
16
 
17
17
  を調べて、実行する必要があると考えています。
18
18
  (ここまで合ってるでしょうか?)
19
19
 
20
20
  そして、さらに、よくわかってないのが、以下です。
21
21
 
22
- ### 関係する?
22
+ ### 以下は関係するのか
23
23
 
24
24
  - Docker
25
25
  - django
26
26
 
27
- これらは、上記を実行する時にマストなのか?そうでないのか?
27
+ これらは、上記を実行する時にマストなのか?そうでないのか?
28
28
  また、利用した場合のメリットが何なのか?が本を読んだり、YouTubeをみてもよくわからないのです。
29
29
 
30
30
  ### ご意見いただきたいこと
31
31
 
32
32
  - 上記理解が正しいのか?
33
33
  - また、間違てるとしたら、どんな点が間違てるのか?
34
- をぜひ教えてください!
34
+
35
35
 
36
36
  個人的には、まず
37
- - Pythonのファイルを、デプロイするときに、どのようなファイル・フォルダ構成にして、デプロイしたらいいのか?をまず知りたく。
37
+ - 下記のPythonのファイルを、デプロイするときに、どのようなファイル・フォルダ構成にして、デプロイしたらいいのか?をまず知りたく。
38
+ - そこに、djangoが関係してるのかな?と思いつつも、今回アップしたいプログラムが、DBとかを使わないものなので、妙に面倒だな、、と思っているという状況です。
38
39
 
40
+ あげたいプログラムはこちらです。
41
+
42
+ ```
43
+ # cording:utf-8
44
+
45
+ import random
46
+ import tkinter as tk
47
+ import tkinter.messagebox as tmsg
48
+
49
+
50
+ # ボタンがクリックされたときの処理
51
+ def ButtonClick():
52
+ # テキスト入力欄に入力された文字列を取得
53
+ b = editbox1.get()
54
+
55
+ # Lesson5-4のプログラムから判断部分を拝借
56
+ # 4桁の数字かどうかを判定
57
+
58
+ isok = False
59
+
60
+ if len(b) != 4:
61
+ tmsg.showerror("エラー", "4桁の数字を入力してください")
62
+
63
+ else:
64
+ kazuok = True
65
+ for i in range(4):
66
+ if(b[i]<"0") or (b[i] > "9") :
67
+ tmsg.showerror("エラー","数字ではありません")
68
+ kazuok = False
69
+ break
70
+ if kazuok:
71
+ isok = True
72
+
73
+ if isok:
74
+ # 4桁の数字であったとき
75
+ # ヒットを判定
76
+ hit = 0
77
+ for i in range(4):
78
+ if a[i] == int(b[i]):
79
+ hit = hit + 1
80
+
81
+ # フローを判定
82
+ blow = 0
83
+ for j in range(4):
84
+ for i in range(4):
85
+ if (int(b[j]) == a[i]) and (a[i] != int(b[i])) and (a[j] != int(b[j])):
86
+ blow = blow + 1
87
+ break
88
+
89
+ # ヒットが4なら当たりで終了
90
+ if hit == 4:
91
+ tmsg.showinfo("当たり","おめでとうございます!当たりです")
92
+ #終了
93
+ root.destroy()
94
+ else:
95
+ # ヒット数とフロー数を表示
96
+ rirekibox.insert(tk.END,b + " : HIT:" + str(hit)+ " B:" + str(blow) + "\n")
97
+
98
+ # メインのプログラム
99
+ # 最初にランダムな4つの数字を作成しておく
100
+
101
+ a = [random.randint(0,9),
102
+ random.randint(0,9),
103
+ random.randint(0,9),
104
+ random.randint(0,9),]
105
+
106
+ print(a)
107
+
108
+ # ウインドウを作る
109
+
110
+ root = tk.Tk()
111
+ root.geometry("600x400")
112
+ root.title("数当てゲーム")
113
+
114
+ # 履歴表示のテキストボックスを作る
115
+ rirekibox = tk.Text(root, font=("Helvetica",18))
116
+ rirekibox.place(x=400,y=0,width=200,height=400)
117
+
118
+
119
+ #ラベルを作る
39
- - そこに、djangoが関係してるのかな?と思いつつも、今回アップしたいプログラムが、DBとかを使わないものなので、妙に面倒だな、、と思っているという状況です。
120
+ # label1 = tk.label(root, text="数を入力してね",font=("Helvetica",14))
121
+ label1 = tk.Label(root, text="4桁の数を入力してね!4桁の数字あててください!", font=("Helvetica", 14))
122
+ label1.place(x = 20, y = 20)
123
+
124
+
125
+ # テキストボックスをつくる
126
+ editbox1=tk.Entry(width=4, font=("Helvetica",28))
127
+ editbox1.place(x = 120, y = 60)
128
+
129
+ # ボタンをつくる
130
+ # button1 = tk.Button(root, text= "チェック", font=("Helvetica",28))
131
+ # editbox1.place(x = 220, y = 60)
132
+
133
+ # ボタンを作る
134
+ button1 = tk.Button(root, text = "チェック", font=("Helvetica", 20), command=ButtonClick)
135
+ button1.place(x = 220, y = 60)
136
+
137
+
138
+ # ウインドウを表示する
139
+ root.mainloop()
140
+
141
+ ```
40
142
 
41
143
 
42
144
 
43
145
 
44
146
 
45
-
46
-