Write the operators, keywords, and build-in functions in python in chinese.
Example codes comes from https://rosettacode.org/
python3 -m python_in_chinese your_chinese_script.zpy
examples/雙值和.zpy
定義 解雙值和(數字串、目標數)為
甲設成零
乙設成長度(數字串)減一
當甲小於乙做
若數字串〈甲〉加數字串〈乙〉等於目標數則
回傳(甲, 乙)
若數字串〈甲〉加數字串〈乙〉小於目標數則
甲設成自己加一
否則
乙設成自己減一
回傳 無
# 測資
把數字串設成(零, 二, 十一, 十九, 九十)
印出(解雙值和(數字串, 二十一))
印出(解雙值和(數字串, 二十五))
examples/背包問題.py
類別 物品 為
定義 __init__(自身、名字、價值、重量、容量) 為
自身的名字 設成 名字
自身的價值 設成 價值
自身的重量 設成 重量
自身的容量 設成 容量
把背包限重設成兩百五
把背包限容設成兩百五
把可選物品設成〈
物品("藥水"、三千、三、二十五)、
物品("食物"、一千八、二、十五)、
物品("黃金"、兩千五、二十、二)
〉
定義 背包動態規劃(可選物品、最大重量、最大容量)為
把價值表設成串列(〈零〉乘(最大重量加一)凡_在範圍(最大容量加一))
把物品選擇設成串列(〈負一〉乘(最大重量加一)凡_在範圍(最大容量加一))
# 開始搜尋
凡重量在範圍(最大重量加一)做
凡容量在範圍(最大容量加一)做
凡物品編號、物品在列舉(可選物品)做
若重量大於等於物品的重量且容量大於等於物品的容量則
把新價值設成價值表〈重量減物品的重量〉〈容量減物品的容量〉加物品的價值
若新價值大於價值表〈重量〉〈容量〉則
價值表〈重量〉〈容量〉設成新價值
物品選擇〈重量〉〈容量〉設成物品編號
# 找到每個物品各幾個
解答物品數量設成 〈零〉乘長度(可選物品)
把目前重設成最大重量
把目前容設成最大容量
當物品選擇〈目前重〉〈目前容〉不等於負一則
解答物品數量〈物品選擇〈目前重〉〈目前容〉〉設成自己加一
把目前物設成可選物品〈物品選擇〈目前重〉〈目前容〉〉
把目前重設成自己減目前物的重量
把目前容設成自己減目前物的容量
回傳 解答物品數量
把解答物品數量設成背包動態規劃(可選物品、背包限重、背包限容)
印出("最大價值是:"、總和(
物品數量乘可選物品〈物品編號〉的價值
凡物品編號、物品數量在列舉(解答物品數量)
))
印出("使用的藥水、食物、黃金數量分別是:"、*解答物品數量)
印出("使用的總重是:"、總和(
物品數量乘可選物品〈物品編號〉的重量
凡物品編號、物品數量在列舉(解答物品數量)
))