2019年10月27日 星期日

猜數字 以視窗表示

import tkinter as tk
import tkinter.messagebox as tmsg

def ButtonClick():
    b=editbox_1.get()
    tmsg.showinfo("你輸入的數字是",b)

root=tk.Tk()
root.geometry("400x500")
root.title("猜數字遊戲")
label_1=tk.Label(root,text="請輸入一個數字",font=("Helvetica",14))
label_1.place(x=20,y=20)
editbox_1=tk.Entry(width=4,font=("Helvertica",28))
editbox_1.place(x=200,y=20)
button_1=tk.Button(root,text="確定",font=("Helvetica",14),command=ButtonClick)
button_1.place(x=200,y=50)

root.mainloop()


原始檔

2019年10月23日 星期三

tkinter abc

# 1.主程式
"""
    import tkinter as tk
    root=tk.Tk()
    root.mainloop()
"""

# 2.改變視窗大小
"""
   root.geometry("400x150")   
"""

# 3.設立標題
"""
   root.title("數學遊戲")
"""

# 4.配置 lable及位置
"""
   label_1=tk.Label(root,text="請輸入數字")
   label_1.place(x=20,y=20)
"""
# 5.配置 輸入欄位及位置
"""
   editbox_1=tk.Entry(width=4)
   editbox_1.place(x=120,y=20)
""" 
# 6.配置欄位 大小
"""
    label_1=tk.Label(root,text="請輸入數字")
改成 label_1=tk.Label(root,text="請輸入數字",font=("Helvetica",14))

    editbox_1=tk.Entry(width=4)
改成 editbox_1=tk.Entry(width=4,font=("Helvetica",28))
"""
import tkinter as tk
root=tk.Tk()
root.geometry("400x150")
root.title("數字遊戲")
#label_1=tk.Label(root,text="輸入數字")
label_1=tk.Label(root,text="輸入數字",font=("Helvetica",14))

label_1.place(x=20,y=20)
#editbox_1=tk.Entry(width=4)
editbox_1=tk.Entry(width=4,font=("Helvetica",28))

#editbox_1.place(x=120,y=20)
editbox_1.place(x=120,y=60)
root.mainloop()

第六章

import tkinter as tk

root=tk.Tk()     #產生一個物件
root.geometry("400x150")   #是英文小寫 x
root.title("猜數字遊戲")

label1=tk.Label(root, text="輸入數字",font=("Helvetica",14))
label1.place(x=20,y=20)

editbox1=tk.Entry(width=4,font=("Helvetica",28))
editbox1.place(x=120,y=60)

root.mainloop()  #顯示物件

2019年10月12日 星期六

判斷是否 hit and blow

data from python 入門教室
#  判斷 hit    a是電腦取亂數 b是自己輸入
for i in range(4):
    if a[i]==int(b[i]):
        hit=hit+1


=======================
==========case 1
#判斷blow
#最初的式子 (判斷b[0]是否blow)
for i in range(4):
    if int(b[0])==a[i]:
        blow=blow+1
        break #避免重複計算

========改寫 1
#依上述的式子仍有重複判斷的結果
for i in range(4):
    if ((int(b[0])==a[i]) and (a[i] != int(b[i])) and (a[0] !=int(b[0]))):
        blow=blow+1
        break
    if ((int(b[1])==a[i]) and (a[i] != int(b[i])) and (a[1] !=int(b[1]))):
        blow=blow+1
        break
=========改寫2
#依上述的式子以迴圈表示
for j in range(4):
    for i in range(4):
        if ((int(b[j])==a[i]) and (a[i] != int(b[i])) and (a[j] !=int(b[j]))):
        blow=blow+1
        break

2019年10月4日 星期五

檢查是否為4位數

isok=False
while isok==False:
    d=input("請輸入四位數")
    if (len(d)!=4):
        print("請輸入4位數")
    else:
        isok=True
print(d[0])
print(d[1])
print(d[2])
print(d[3])


===========
isok=False
while isok==False:
    guess=input("輸入四位數")
    if (len(guess)!=4):
        print("重新輸入 要四位數")
    else:
        if (guess[0]>"9" or guess[0]<"0"):
            print("第一個數字填入不是數字")
        elif (guess[1]>"9" or guess[1]<"0"):
            print("第二個數字填入不是數字")
        elif (guess[2]>"9" or guess[2]<"0"):
            print("第三個數字填入不是數字")
        elif (guess[3]>"9" or guess[3]<"0"):
            print("第三個數字填入不是數字")
        else:
            isok=True
print(guess)

============
isok=False
while isok==False:
    guess=input("輸入四位數")
    if (len(guess)!=4):
        print("重新輸入 要四位數")
    else:
        sendjudge=True
        for i in range(4):
            if (guess[i]>"9" or guess[i]<"0"):
                 print("第{}個數字填入不是數字".format(i+1))
                 sendjudge=False
                 break
        if sendjudge:
            isok=True
print(guess)