質問編集履歴
1
プログラムコードを追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,35 +12,135 @@
|
|
12
12
|
- Pythonのファイルをどう実行させるかを、どんなファイル構成にしたらいいのかを調べる
|
13
13
|
- 具体的には、indexファイルの内容
|
14
14
|
- そのファイルのギットハブへの乗せ方を調べること
|
15
|
-
-
|
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
|
-
|
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
|
-
|