Skip to content

Commit 3995721

Browse files
committed
add practice
1 parent 06f2265 commit 3995721

1 file changed

Lines changed: 47 additions & 38 deletions

File tree

python/lo.py

Lines changed: 47 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,47 @@
1-
import pandas as pd
2-
3-
# 建立範例資料 (第 114000079 期到 115000007 期)
4-
data = {
5-
"期別": ["114000079","114000080","114000081","114000082","114000083",
6-
"115000001","115000002","115000003","115000004","115000005","115000006","115000007"],
7-
"開獎日期": ["2025-10-02","2025-10-06","2025-10-09","2025-10-13","2025-10-16",
8-
"2026-01-01","2026-01-05","2026-01-08","2026-01-12","2026-01-15","2026-01-19","2026-01-22"],
9-
"第一區號碼": [
10-
[3,5,12,24,27,30],[5,6,9,14,15,37],[1,6,11,20,34,35],
11-
[2,8,12,18,28,33],[4,9,16,21,25,36],[7,14,22,23,31,35],
12-
[11,14,19,25,34,37],[7,17,25,26,27,33],[1,9,14,17,33,38],
13-
[8,10,16,26,31,38],[10,16,20,23,35,37],[11,17,29,30,34,35]
14-
],
15-
"第二區": [7,5,8,3,4,1,4,3,3,5,5,6],
16-
"備註": ["頭獎","無頭獎","無頭獎","無頭獎","無頭獎","無頭獎",
17-
"無頭獎","無頭獎","無頭獎","無頭獎","無頭獎","無頭獎"]
18-
}
19-
20-
df = pd.DataFrame(data)
21-
22-
# 計算第一區 01~38 次數與頻率
23-
freq_zone1 = pd.DataFrame({"號碼": list(range(1,39))})
24-
freq_zone1["出現次數"] = freq_zone1["號碼"].apply(lambda x: sum(df["第一區號碼"].apply(lambda y: x in y)))
25-
freq_zone1["頻率(%)"] = freq_zone1["出現次數"]/freq_zone1["出現次數"].sum()*100
26-
27-
# 計算第二區 01~08 次數與頻率
28-
freq_zone2 = pd.DataFrame({"號碼": list(range(1,9))})
29-
freq_zone2["出現次數"] = freq_zone2["號碼"].apply(lambda x: sum(df["第二區"]==x))
30-
freq_zone2["頻率(%)"] = freq_zone2["出現次數"]/freq_zone2["出現次數"].sum()*100
31-
32-
# 將資料寫入 Excel,多 sheet
33-
with pd.ExcelWriter("威力彩分析_114000079_115000007.xlsx") as writer:
34-
df.to_excel(writer, sheet_name="RawData", index=False)
35-
freq_zone1.to_excel(writer, sheet_name="Freq_Zone1", index=False)
36-
freq_zone2.to_excel(writer, sheet_name="Freq_Zone2", index=False)
37-
38-
print("Excel 檔案已生成:威力彩分析_114000079_115000007.xlsx")
1+
# import pandas as pd
2+
3+
# # 建立範例資料 (第 114000079 期到 115000007 期)
4+
# data = {
5+
# "期別": ["114000079","114000080","114000081","114000082","114000083",
6+
# "115000001","115000002","115000003","115000004","115000005","115000006","115000007"],
7+
# "開獎日期": ["2025-10-02","2025-10-06","2025-10-09","2025-10-13","2025-10-16",
8+
# "2026-01-01","2026-01-05","2026-01-08","2026-01-12","2026-01-15","2026-01-19","2026-01-22"],
9+
# "第一區號碼": [
10+
# [3,5,12,24,27,30],[5,6,9,14,15,37],[1,6,11,20,34,35],
11+
# [2,8,12,18,28,33],[4,9,16,21,25,36],[7,14,22,23,31,35],
12+
# [11,14,19,25,34,37],[7,17,25,26,27,33],[1,9,14,17,33,38],
13+
# [8,10,16,26,31,38],[10,16,20,23,35,37],[11,17,29,30,34,35]
14+
# ],
15+
# "第二區": [7,5,8,3,4,1,4,3,3,5,5,6],
16+
# "備註": ["頭獎","無頭獎","無頭獎","無頭獎","無頭獎","無頭獎",
17+
# "無頭獎","無頭獎","無頭獎","無頭獎","無頭獎","無頭獎"]
18+
# }
19+
20+
# df = pd.DataFrame(data)
21+
22+
# # 計算第一區 01~38 次數與頻率
23+
# freq_zone1 = pd.DataFrame({"號碼": list(range(1,39))})
24+
# freq_zone1["出現次數"] = freq_zone1["號碼"].apply(lambda x: sum(df["第一區號碼"].apply(lambda y: x in y)))
25+
# freq_zone1["頻率(%)"] = freq_zone1["出現次數"]/freq_zone1["出現次數"].sum()*100
26+
27+
# # 計算第二區 01~08 次數與頻率
28+
# freq_zone2 = pd.DataFrame({"號碼": list(range(1,9))})
29+
# freq_zone2["出現次數"] = freq_zone2["號碼"].apply(lambda x: sum(df["第二區"]==x))
30+
# freq_zone2["頻率(%)"] = freq_zone2["出現次數"]/freq_zone2["出現次數"].sum()*100
31+
32+
# # 將資料寫入 Excel,多 sheet
33+
# with pd.ExcelWriter("威力彩分析_114000079_115000007.xlsx") as writer:
34+
# df.to_excel(writer, sheet_name="RawData", index=False)
35+
# freq_zone1.to_excel(writer, sheet_name="Freq_Zone1", index=False)
36+
# freq_zone2.to_excel(writer, sheet_name="Freq_Zone2", index=False)
37+
38+
# print("Excel 檔案已生成:威力彩分析_114000079_115000007.xlsx")
39+
40+
41+
import random
42+
43+
# 模擬一次威力彩開獎
44+
main_numbers = random.sample(range(1, 39), 6) # 從1~38中抽6個
45+
special_number = random.randint(1, 8) # 從1~8中抽1個
46+
print("第一區:", sorted(main_numbers))
47+
print("特別號:", special_number)

0 commit comments

Comments
 (0)