In addition to 30 keywords or so, Python-3 allows you to use non-English characters as identifiers. That means you can write a program almost in your own native language, which is usually the one you feel the most fluent to speak and to THINK.
It is an interesting option for me, I enjoy it, and love it. I suggest you to give it a try.
There are several discussion about this idea as follows:
- http://www.reddit.com/r/Python/comments/268fts/a_python_program_written_with_90_traditional/
- https://plus.google.com/+SebastianRaschka/posts/2ThNvMEeyWD
A bunch of examples are here.
- https://dl.dropboxusercontent.com/u/33089565/ry2014_thinkcspy/html/_ryTurtle04.html
- https://github.com/renyuanL/pythonTurtleInChinese
有沒有試過用 中文 寫程式?
Python-3 除了 約 30個 關鍵字(keywords) (列在文後當參考)不可用中文之外,
其他部分允許程式員使用中文。
(其實任何使用 Unicode 編碼的語言皆可,
我偶爾也會用一下希臘字母,或日文假名。)
中文 是我最流利(fluent)的語言,
也是我的華人朋友們(包含大朋友、小朋友以及老朋友)最易懂的語言,
用中文來與這些朋友們溝通(包括我自己的自言自語),
是最有效率、最不易誤解的語言。
誠意推薦你也來試試看。
會有意想不到的收穫喔!
例子如下:
# myNumber.py, 我的數字遊戲.py, # by Chris Roffey, 翻譯:呂仁園。 # 本遊戲使用自製的函數 import random # 想一個數字 電腦數字= random.randint(1, 100) # 創造一個函數,相同嗎() def 相同嗎(目標, 數字): if 目標 == 數字: 結果= "贏" elif 目標 > 數字: 結果= "低" else: 結果= "高" return 結果 # 開始遊戲 print("你好。\n我已經想好一個數字,介於1和100之間。") # 取得使用者的猜測,並轉成整數。 猜測= int(input("你能猜到它嗎?")) # 運用我們的函數 高或低= 相同嗎(電腦數字, 猜測) # 跑遊戲,直到使用者猜對。 while 高或低 != "贏": if 高或低 == "低": 猜測= int(input("抱歉,你猜得太低了,再一次吧!")) else: 猜測= int(input("抱歉,你猜得太高了,再一次吧! ")) 高或低 = 相同嗎(電腦數字, 猜測) # 結束遊戲 print("正確!\n很棒!\n\n\n按 Enter 來離開。") input() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# myNumber.py, # by Chris Roffey # This game uses a home made function import random # Think of a number computer_number = random.randint(1, 100) # Create the function is_same() def is_same(target, number): if target == number: result="Win" elif target > number: result="Low" else: result="High" return result # Start the game print("Hello.\nI have thought of a number between 1 and 100.") # Collect the user’s guess as an integer guess = int(input("Can you guess it? ")) # Use our function higher_or_lower = is_same(computer_number, guess) # Run the game until the user is correct while higher_or_lower != "Win": if higher_or_lower == "Low": guess = int(input("Sorry, you are too low. Try again. ")) else: guess = int(input("Sorry, you are too high. Try again. ")) higher_or_lower = is_same(computer_number, guess) # End the game print("Correct!\nWell Done\n\n\nPress Enter to exit.") input() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# # myEtchASketch.py, 我的蝕刻繪圖板.py # a application from Coding Club: Python Basics # by Chris Roffey, 翻譯:呂仁園。 # from tkinter import * ##### 設定變數: 布高= 400 布寬= 600 布色= "black" 點x= 布寬/2 點y= 布高 點色= "green" 點寬= 5 點長= 5 ##### 函數: # # 玩家控制 # def 點移上(self): global 點y 布.create_line(點x, 點y, 點x, (點y-點長), width= 點寬, fill= 點色) 點y= 點y - 點長 def 點移下(self): global 點y 布.create_line(點x, 點y, 點x, 點y+點長, width= 點寬, fill= 點色) 點y= 點y + 點長 def 點移右(self): global 點x 布.create_line(點x, 點y, 點x + 點長, 點y, width= 點寬, fill= 點色) 點x= 點x + 點長 def 點移左(self): global 點x 布.create_line(點x, 點y, 點x - 點長, 點y, width= 點寬, fill= 點色) 點x= 點x - 點長 def 清除全部(self): 布.delete(ALL) ##### 主程式: 窗= Tk() 窗.title("我的蝕刻繪圖板") 布= Canvas( bg= 布色, height= 布高, width= 布寬, highlightthickness= 0) 布.pack() # # 綁定(連結) 按鍵 與 玩家控制函數 # 窗.bind("<Up>", 點移上) 窗.bind("<Down>", 點移下) 窗.bind("<Left>", 點移左) 窗.bind("<Right>", 點移右) 窗.bind("u", 清除全部) # # 進入視窗應用程式的主迴圈 # 窗.mainloop() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# # myEtchASketch.py # a application from Coding Club: Python Basics # by Chris Roffey # from tkinter import * ##### Set variables: canvas_height = 400 canvas_width = 600 canvas_colour = "black" p1_x = canvas_width/2 p1_y = canvas_height p1_colour = "green" line_width = 5 line_length = 5 ##### Functions: # # player controls # def p1_move_N(self): global p1_y canvas.create_line(p1_x, p1_y, p1_x, (p1_y-line_length), width=line_width, fill=p1_colour) p1_y = p1_y - line_length def p1_move_S(self): global p1_y canvas.create_line(p1_x, p1_y, p1_x, p1_y+line_length, width=line_width, fill=p1_colour) p1_y = p1_y + line_length def p1_move_E(self): global p1_x canvas.create_line(p1_x, p1_y, p1_x + line_length, p1_y, width=line_width, fill=p1_colour) p1_x = p1_x + line_length def p1_move_W(self): global p1_x canvas.create_line(p1_x, p1_y, p1_x - line_length, p1_y, width=line_width, fill=p1_colour) p1_x = p1_x - line_length def erase_all(self): canvas.delete(ALL) ##### main: window = Tk() window.title("MyEtchASketch") canvas = Canvas( bg=canvas_colour, height=canvas_height, width=canvas_width, highlightthickness=0) canvas.pack() # # bind movement to key presses # window.bind("<Up>", p1_move_N) window.bind("<Down>", p1_move_S) window.bind("<Left>", p1_move_W) window.bind("<Right>", p1_move_E) window.bind("u", erase_all) # # entering mainloop of the window application # window.mainloop() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# # rySketch.py, 繪圖板.py # 呂仁園。 # import tkinter def 在滑鼠座標處畫圓(e): x, y= e.x, e.y 布.create_oval( x-5, y-5, x+5, y+5, fill= 'red') def 清除畫布(e): 布.delete('all') 布= tkinter.Canvas() 布.pack() 布.bind('<1>', 在滑鼠座標處畫圓) 布.bind('<3>', 清除畫布) 布.bind('<B1-Motion>', 在滑鼠座標處畫圓) 布.mainloop() |
沒有留言:
張貼留言