LoginSignup
13
9

More than 3 years have passed since last update.

pythonで、はじめまして

Last updated at Posted at 2020-07-09

はじめに

せっかく4月から入学したのに、入学式以外で学校に行ったことがないので友達が1人も作れていません:cry:
もちろん学校なので勉強することが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()

2020-07-09.png

このようになります!!!


感想

本来なら4月に対面で自己紹介ができたかもしれませんが、こういう自己紹介形で自己紹介できてよかったです。

13
9
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
9