# data[].attributes.body
已完成十期抽獎，使用者可選擇期別/號碼，查詢有沒有中獎，再詢問是否要繼續查詢（Ｙ(繼續)/Ｎ(結束)）

# data[].attributes.body
import random

# 1. 產生十期號碼和特別號
nums_list = []
for i in range(10):
nums = []
while len(nums) < 6:
num = random.randint(1, 49)
if num not in nums:
nums.append(num)
nums.sort()
special_num = random.randint(1, 49)
while special_num in nums:
special_num = random.randint(1, 49)
nums.append(special_num)
nums_list.append(nums)

# 2. 輸出十期號碼
for i, nums in enumerate(nums_list):
print(f"第{i+1}期號碼：{' '.join([str(num).zfill(2) for num in nums[:6]])} 特別號：{str(nums[-1]).zfill(2)}")

# 3. 對獎
while True:
period = input("請輸入查詢的期別（1-10）或輸入 q 離開：")
if period == 'q':
break
elif period.isdigit() and 1 <= int(period) <= 10:
num_str = input("請輸入對獎的號碼（以空格分隔）：")
nums = [int(num) for num in num_str.split()]

result = nums_list[int(period) - 1]

if set(nums) & set(result[:6]):
print(f"第{period}期中獎！")
else:
print(f"第{period}期未中獎。")

continue_query = input("是否繼續查詢（Y/N）：")
if continue_query.upper() != 'Y':
break
else:
print("請輸入有效的期別（1-10）或輸入 q 離開。")

# data[].attributes.body
用IF ELSE 函數來查詢其別

# data[].attributes.body
import random
# 產生前十期的號碼
all_nums = []
for i in range(1, 11):
nums = []
while len(nums) < 6:
num = random.randint(1, 49)
if num not in nums:
nums.append(num)
nums.sort()
all_nums.append((i, nums))

# 輸出前十期號碼
for i in range(10):
print(f"第{all_nums[i][0]}期號碼：{all_nums[i][1][0]:02d}. {all_nums[i][1][1]:02d}. {all_nums[i][1][2]:02d}. {all_nums[i][1][3]:02d}. {all_nums[i][1][4]:02d}. {all_nums[i][1][5]:02d}")

# 輸入需要查詢的期數
period = int(input("請輸入需要查詢的期數："))

# 輸出該期的中獎號碼和特別號
if period > 0 and period <= 10:
result = all_nums[period-1][1]
special_num = random.randint(1, 49)
print(f"第{period}期中獎號碼：{result[0]:02d}. {result[1]:02d}. {result[2]:02d}. {result[3]:02d}. {result[4]:02d}. {result[5]:02d} / 特別號：{special_num:02d}")
else:
print("輸入錯誤，請輸入 1 到 10 之間的正整數。")

# data[].attributes.body
在主程式使用for迴圈 來進行所需要的次數

# data[].attributes.body
去深入了解取亂數後發現 取亂數是有一個規律的 大多是以時間

# data[].attributes.body
螢光筆與上面契合

# data[].attributes.body
利用While迴圈來判斷有沒有重複 有重複就不能加進去

# data[].attributes.body
利用氣泡排序法來進行排序

# data[].attributes.body
利用python內建函式來寫

# data[].attributes.body
import random
result=[]
for i in range(6):
result.append(random.randrange(1, 49))
print("產生的亂數",result)

#氣泡排序法
for i in range(len(result)):
for j in range(len(result)-1):
if result[j] > result[j+1]:
#交換數字
temp = result[j]
result [j] = result [j+1]
result [j+1] = temp
print("排序後的結果", result)

# data[].attributes.body
import random
for i in range(6):
i=(random.randrange(2,100,2))
print(i)

# data[].attributes.body
import random
n = int(input("請輸入需要抽取幾次："))
for k in range(n):
result = []   # 建立空串列
while len(result)<6:
# 使用 while 迴圈，直到串列的長度等於 6 就停止
b = random.randint(1, 49)
# 取出 1～49 得隨機整數
if b not in result:
# 判斷如果 a 裡面沒有 b
result.append(b)
# 將 b 放入 a
# 氣泡排序法
for i in range(len(result)):
for j in range(len(result)-1):
if result[j] > result[j+1]:
# 交換數字
temp = result[j]
result [j] = result [j+1]
result [j+1] = temp
print(f"第{k+1}次的結果：", result)

# data[].attributes.body
import random
result = []
# 建立空串列
while len(result)<6:
# 使用 while 迴圈，直到串列的長度等於 6 就停止
b = random.randint(1, 49)
# 取出 1～49 得隨機整數
if b not in result:
# 判斷如果 a 裡面沒有 b
result.append(b)
# 將 b 放入 a
print("未排序的結果", result)
#氣泡排序法
for i in range(len(result)):
for j in range(len(result)-1):
if result[j] > result[j+1]:
#交換數字
temp = result[j]
result [j] = result [j+1]
result [j+1] = temp
print("排序後的結果", result)