Tags:

คือผม เพิ่งจะเรียนโปรแกรม Python มา แล้วเรื่อง อัลกอริทึ่ม ไม่ต้องพูดถึงเลยครับ ไม่ค่อยเข้าใจมากเท่าไหร่
ก้เลยดันไปก๊อปในเวปส่งอาจารย์แล้วทีนี่ อาจารย์ดันให้แสดงค่ามากกว่าในเวป คราวนี้เลยกลายเป็นปัญหาเลยครับ
ว่า โปรเจค ผมทำเรื่องแปลงค่าตัวเลขเป็นตัวหนังสือ แล้วทีนี่ พอแปลงค่าเสร็จด้วบย คำสั่ง ฟังก์ชัน แล้ว อาจารย์ให้แสดงค่าออกมาในรูปของ หน้าต่าง Windos ครับ ซึ่งผมลองทำดูแล้วไม่ได้ เพื่อนๆ คนไหนพอจะแนะนำหรือสงเคราะห์ได้บ้างครับนี่

Get latest news from Blognone

Comments

By: anu
Contributor
anu's blog
on 15/03/12 22:03 #395714 toggle
anu's picture

แบบนี้ป่าวครับ http://wxpython.org/screenshots.php

By: Qubit
AndroidUbuntu
Qubit's blog
on 15/03/12 22:22 #395723 toggle
Qubit's picture

เลือกเอาเลยครับหรือ seaarch พวก GUI python , graphical with python อะไรพวกนี้ครับอันนี้ตัวอย่าง

http://wiki.python.org/moin/GuiProgramming

http://zetcode.com/wxpython/

By: peanarak
peanarak's blog
on 15/03/12 22:23 #395724 toggle
peanarak's picture

ใช่เลยครับ เหมือนใน สองรูปแรกอะครับ แต่ของผมพอใส่ช่องแรก คือตัวเลข แล้วช่องที่สองเป็นการแปลงค่าของตัวเลขนั้นเป็นตัวหนังสือน่ะครับ

ต้องทำอย่างไรบ้างครับ แนะนำให้ด้วยน่ะครับ

By: peanarak
peanarak's blog
on 15/03/12 22:29 #395726 toggle
peanarak's picture

ขอขอบคุณล่วงหน้าก่อนเลยคร๊าฟฟ

By: anu
Contributor
anu's blog
on 15/03/12 22:39 #395728 Reply to:395726 toggle
anu's picture

มีโค้ดตัวอย่างในเว็บนั่นเลยครับ ลองดู http://wxpython.org/test1.py.html

By: peanarak
peanarak's blog
on 17/03/12 10:03 #396375 toggle
peanarak's picture

Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python32\lib\tkinter__init__.py", line 1399, in call
return self.func(*args)
TypeError: readnum() takes at least 1 argument (0 given)

มันขึ้นอย่างนี้อ่ะครับ

อันนี้เป็น โปรดเจคผม

def readnum(num, exact=True):

num=int(num)

if num < 10:

if num == 9:

return "เก้า"

elif num == 8:

return "แปด"

elif num == 7:

return "เจ็ด"

elif num == 6:

return "หก"

elif num == 5:

return "ห้า"

elif num == 4:

return "สี่"

elif num == 3:

return "สาม"

elif num == 2:

return "สอง"

elif num == 1 and exact:

return "หนึ่ง"

elif num == 1 and not exact:

return "เอ็ด"

else:

return "ศูนย์"

else:

if num < 20 and num >= 10:

return "สิบ%s"%(readnum(num-10, False).replace("ศูนย์", ""))

import math

if num < 100:

minus = int(math.floor(num/10)*10)

return "%sสิบ%s"%(readnum(minus/10).replace("ศูนย์", "").replace("สอง", "ยี่"), readnum(num-minus, False).replace("ศูนย์", ""))

elif num < 1000:

minus = int(math.floor(num/100)*100)

return "%sร้อย%s"%(readnum(minus/100), readnum(num-minus, False).replace("ศูนย์", ""))

elif num < 10000:

minus = int(math.floor(num/1000)*1000)

return "%sพัน%s"%(readnum(minus/1000), readnum(num-minus, False).replace("ศูนย์", ""))

elif num < 100000:

minus = int(math.floor(num/10000)*10000)

return "%sหมื่น%s"%(readnum(minus/10000), readnum(num-minus, False).replace("ศูนย์", ""))

elif num < 1000000:

minus = int(math.floor(num/100000)*100000)

return "%sแสน%s"%(readnum(minus/100000), readnum(num-minus, False).replace("ศูนย์", ""))

else:

minus = int(math.floor(num/1000000)*1000000)

return "%sล้าน%s"%(self.readnum(minus/1000000), self.readnum(num-minus, False).replace("ศูนย์", ""))

import tkinter
import sys
root = tkinter.Tk()
root.title("แปรงตัวเลข")
root.resizable(width=True,height=True)

mainFrame = tkinter.Frame(root,borderwidth=1,padx=5,pady=5)
mainFrame.pack()

varNumber = tkinter.StringVar()
varChagne = tkinter.StringVar()

NumberLabel = tkinter.Label(mainFrame,text="Number :")

NumberLabel.grid(row=1,column=1)
NumberEntry = tkinter.Entry(mainFrame,textvariable=varNumber)

NumberEntry.grid(row=1,column=2)

ChagneLabel = tkinter.Label(mainFrame,text="Chagne :")

ChagneLabel.grid(row=2,column=1)
ChagneEntry = tkinter.Entry(mainFrame,textvariable=varChagne)

ChagneEntry.grid(row=2,column=2)

tkinter.Button(root,text="ok",command=readnum).pack()

tkinter.mainloop()

คำถามแรกเลยน่ะครับ
1.ผมควรสร้างอีก ฟังก์ชันเพื่อรันค่า ฟังก์ชัน readnum(num, exact=True):หรือ ไม่ต้องสร้างก็ได้เพียงผูกค่าฟังก์ชัน เข้ากับvarNumber = tkinter.StringVar() กับ varChagne = tkinter.StringVar() ได้เลยครับ
2แล้วเมื่อผมสร้างฟังก์ชันใหม่ขึ้นมาจะเรียกค่าฟังก์ชันแแรกยังไงแล้วผูกค่าให้มันแสดงใน ช่องWindows ยังไงเหรอครับ
3.หรือการเขียนมัน ผิด? ช่วยแนะนำด้วยน่ะครับ

ปล.โปรเจค จะส่งวันพรุ่งนี้แล้ว นั่ง เขียนอยู่นานไม่รันขึ้นสักทีครับ ผู้ีรู้ ผู้ชำนาญช้วยชี้แนะ ด้วยครับผมTT
ปล.ขอพระคุณอย่างสูงสุดใน 3 โลกครับ!!!

By: peanarak
peanarak's blog
on 17/03/12 21:51 #396520 toggle
peanarak's picture

File "C:\Python32\lib\tkinter__init__.py", line 1399, in call
return self.func(*args)
TypeError: test() takes exactly 2 arguments (0 given)

มันขึ้นยังนี้คือ
1.ผมต้องสร้าง อีกฟังก์ชันอีก อัน แล้วเรียกค่า ฟังก์ชัน readnum ใช่ไหมครับ
2.แล้วผูกค่าจากฟังก์ชันที่สร้างขึ้นมารึเปล่าครับ