#はじめに
せっかく4月から入学したのに、入学式以外で学校に行ったことがないので友達が1人も作れていません
もちろん学校なので勉強することが1番大事ですが、友達を作ることも大事だと思っています
そこで、pythonを使ってクイズ形式で少しだけ自己紹介してみようと思いました
(名前はプライバシーの問題でQiitaには載せません)
##第一印象を考える
対面だと、すぐに分かる情報を考えてみました
やっぱり一番は顔ですが、顔を説明することは難しいです。では、次に分かる情報は身長です
なので、身長を皆さんに当ててもらおうと思いました
###身長を考えてみよう
僕の身長をぴったり入力しなければ正解になりません
あまりにも身長がかけ離れている場合は僕にツッコまれます
import tkinter as tk
import tkinter.messagebox as tmsg
def ButtonClick_h():
h = editboxl_h.get()
c = editboxl_h.get()
my_h = False
if len(c) != 3:
tmsg.showinfo("間違い", "3桁の数字を入力して!")
else:
kazuok = True
for i in range(1):
if (h[i] < "0") or (h[i] > "9"):
tmsg.showerror("エラー", "数字ちゃうやん!")
kazuok = False
break
if kazuok :
my_h = True
if my_h :
if int(h) == 174:
tmsg.showinfo("正解", "やるやん!")
elif 170 <= int(h) < 174:
tmsg.showinfo("惜しい!", "もうちょい上やで!")
elif 174 < int(h) <= 179:
tmsg.showinfo("惜しい!", "もうちょい下やで!")
elif int(h) < 170:
tmsg.showinfo("全然ちゃう!", "そんな小さないわ!")
else:
int(h) > 180
tmsg.showinfo("全然ちゃう!", "そんなでかないわ!" )
##対面で自己紹介するなら何を喋るか考える
今まで自己紹介を何度かしたことがありますが、何を喋っていたかを考えてみました
いろいろ喋ることはありますが、名前の次に言うことは誕生日と好きなことだと思いました
###誕生日を考えてみよう
誕生日を当てなければ正解になりません
def ButtonClick_b():
b = editboxl_b.get()
d = editboxl_b.get()
my_b = False
if len(d) != 1:
tmsg.showinfo("間違い", "大ヒント!一桁やで!")
else:
kazuok = True
for i in range(1):
if (b[i] < "0") or (b[i] > "9"):
tmsg.showerror("エラー", "数字ではありません")
kazuok = False
break
if kazuok :
my_b = True
if my_b :
if int(b) == 3:
tmsg.showinfo("正解", "大正解!君とは気が合うかもね(笑)")
elif 1 <= int(b) < 2:
tmsg.showinfo("惜しい!", "もうちょい上やで")
elif 4 < int(b) <= 6:
tmsg.showinfo("惜しい!", "もうちょい下やで")
else:
int(b) > 6
tmsg.showinfo("全然ちゃう!", "ちょうどいい気温やなぁ(ヒント)" )
###好きなことを当てよう
僕はスポーツが好きですが、特に好きなスポーツを当ててもらいます
これは、「バスケ」「野球」「サッカー」の中から当ててもらうプログラムになっています
def ButtonClick_s1():
tmsg.showinfo("違うよ!", "バスケも面白いけどな!!")
def ButtonClick_s2():
tmsg.showinfo("正解", "野球最高!!" )
def ButtonClick_s3():
tmsg.showinfo("違うよ!", "サッカーはめっちゃ苦手やねん。")
#最終結果
import tkinter as tk
import tkinter.messagebox as tmsg
def ButtonClick_h():
h = editboxl_h.get()
c = editboxl_h.get()
my_h = False
if len(c) != 3:
tmsg.showinfo("間違い", "3桁の数字を入力して!")
else:
kazuok = True
for i in range(1):
if (h[i] < "0") or (h[i] > "9"):
tmsg.showerror("エラー", "数字ちゃうやん!")
kazuok = False
break
if kazuok :
my_h = True
if my_h :
if int(h) == 174:
tmsg.showinfo("正解", "やるやん!")
elif 170 <= int(h) < 174:
tmsg.showinfo("惜しい!", "もうちょい上やで!")
elif 174 < int(h) <= 179:
tmsg.showinfo("惜しい!", "もうちょい下やで!")
elif int(h) < 170:
tmsg.showinfo("全然ちゃう!", "そんな小さないわ!")
else:
int(h) > 180
tmsg.showinfo("全然ちゃう!", "そんなでかないわ!" )
def ButtonClick_b():
b = editboxl_b.get()
d = editboxl_b.get()
my_b = False
if len(d) != 1:
tmsg.showinfo("間違い", "大ヒント!一桁やで!")
else:
kazuok = True
for i in range(1):
if (b[i] < "0") or (b[i] > "9"):
tmsg.showerror("エラー", "数字ではありません")
kazuok = False
break
if kazuok :
my_b = True
if my_b :
if int(b) == 3:
tmsg.showinfo("正解", "大正解!君とは気が合うかもね(笑)")
elif 1 <= int(b) < 2:
tmsg.showinfo("惜しい!", "もうちょい上やで")
elif 4 < int(b) <= 6:
tmsg.showinfo("惜しい!", "もうちょい下やで")
else:
int(b) > 6
tmsg.showinfo("全然ちゃう!", "ちょうどいい気温やなぁ(ヒント)" )
def ButtonClick_s1():
tmsg.showinfo("違うよ!", "バスケも面白いけどね!!")
def ButtonClick_s2():
tmsg.showinfo("正解", "野球最高!!" )
def ButtonClick_s3():
tmsg.showinfo("違うよ!", "サッカーはめっちゃ苦手です!")
root = tk.Tk()
root.geometry("800x800")
root.title("僕を知ろう")
labell_h = tk.Label(root, text="(今頃ですが…)はじめまして!", font=("Helvetica", 30))
labell_h.place(x = 20, y = 0)
labell_i = tk.Label(root, text="2分で少しでも僕のことを知ってください!", font=("Helvetica", 20))
labell_i.place(x = 20, y = 50)
labell_h = tk.Label(root, text="【SIZE】身長を当てよう(半角数字3桁)", font=("Helvetica", 20))
labell_h.place(x = 20, y = 150)
labell_b = tk.Label(root, text="【BIRTHDAY】誕生月を当てよう(半角数字)", font=("Helvetica", 20))
labell_b.place(x = 20, y = 300)
labell_x = tk.Label(root, text="【LIKE】どのスポーツが好きか当ててみよう", font=("Helvetica", 20))
labell_x.place(x = 20, y = 500)
editboxl_h = tk.Entry(width = 3, font=("Helvetica", 28))
editboxl_h.place(x =120, y = 200)
editboxl_b = tk.Entry(width = 3, font=("Helvetica", 28))
editboxl_b.place(x =120, y = 360)
height = tk.Label(root, text = "cm", font=("Helvetica", 20))
height.place(x = 200, y = 200)
monthl = tk.Label(root, text = "月", font=("Helvetica", 20))
monthl.place(x = 200, y = 360)
buttonl_h = tk.Button(root, text = "クリック", font=("Helvetica", 14), command=ButtonClick_h)
buttonl_h.place(x = 240, y =200)
buttonl_b= tk.Button(root, text = "クリック", font=("Helvetica", 14), command=ButtonClick_b)
buttonl_b.place(x = 240, y =360)
buttonl_s1 = tk.Button(root, text = "バスケ", font=("Helvetica", 14), command=ButtonClick_s1)
buttonl_s1.place(x = 120, y =560)
buttonl_s2 = tk.Button(root, text = "野球", font=("Helvetica", 14), command=ButtonClick_s2)
buttonl_s2.place(x = 120, y =630)
buttonl_s3 = tk.Button(root, text = "サッカー", font=("Helvetica", 14), command=ButtonClick_s3)
buttonl_s3.place(x = 120, y =700)
root.mainloop()
このようになります!!!
#感想
本来なら4月に対面で自己紹介ができたかもしれませんが、こういう自己紹介形で自己紹介できてよかったです。