2024年11月18日 星期一

.. 燕俠語錄 20241118:
成功的人是跟別人學習經驗,失敗的人只跟自己學習經驗。
--- 墨者燕俠(劉建春)

2024年11月17日 星期日

[Python] 6/49 Big Lottery 大樂透 程式, 過了今晚!

. [Python] 6/49 大樂透 程式, 過了今晚!.
.
.
import random

lotterys = random.sample(range(1,50), 7)
specialNum = lotterys.pop()

print("大樂透 中獎號碼: ", end="")
for lottery in sorted(lotterys):
    print(lottery, end=" ")
print("\n特別號: ", specialNum)
print("過了今晚!")

執行結果範例:
PS D:\DevTool\ZCode> & C:/Python312/python.exe d:/DevTool/ZCode/_Code/_Python/BigLotterys.py
大樂透 中獎號碼: 13 19 22 34 40 43 
特別號:  32
過了今晚!



2024年10月27日 星期日

[Python] 字典 dict { } 的 key, value 鍵、值 互換

.[Python] 字典 dict { } 的 key, item 鍵、值 互換
 
--- --- --- --- --- --- --- --- ---
(1) 字典鍵值互換, 方法一 for 循環:
mydict = {'a': 1, 'b': 2, 'c': 3}
mydict_new = {}
for key, value in mydict.items():
    mydict_new[value] = key

print(mydict)
print(mydict_new)

---
>>> mydict = {'a': 1, 'b': 2, 'c': 3}
>>> mydict_new = {}
>>> for key, value in mydict.items():
...      mydict_new[value] = key
...
>>> print(mydict)
{'a': 1, 'b': 2, 'c': 3}
>>> print(mydict_new)
{1: 'a', 2: 'b', 3: 'c'}
>>>

--- --- --- --- --- --- --- --- ---
(2) 字典鍵值互換, 方法二 列表生成器 generator:
mydict = {'a': 1, 'b': 2, 'c': 3}
mydict_new = dict([value, key] for key, value in mydict.items())
print(mydict)
print(mydict_new)

---
>>> mydict = {'a': 1, 'b': 2, 'c': 3}
>>> mydict_new = dict([value, key] for key, value in mydict.items())
>>> print(mydict)
{'a': 1, 'b': 2, 'c': 3}
>>> print(mydict_new)
{1: 'a', 2: 'b', 3: 'c'}

--- --- --- --- --- --- --- --- ---
(3) 字典鍵值互換, 方法三 zip:
mydict = {'a': 1, 'b': 2, 'c': 3}
mydict_new = dict(zip(mydict.values(), mydict.keys()))
print(mydict)
print(mydict_new)

---
>>> mydict = {'a': 1, 'b': 2, 'c': 3}
>>> mydict_new = dict(zip(mydict.values(), mydict.keys()))
>>> print(mydict)
{'a': 1, 'b': 2, 'c': 3}
>>> print(mydict_new)
{1: 'a', 2: 'b', 3: 'c'}





[Python] 傳回 ASCII 的 chr() 函數 vs 傳回字元的 Unicode 碼值 ord() 函數

.[Python] 傳回 ASCII 的 chr() 函數 vs 傳回字元的 Unicode 碼值 ord() 函數

(1) 傳回 ASCII 的 chr() 函數:
>>> x1 = 65
>>> x2 = 66
>>> print(chr(x1))  // 或是 print(chr(65))
A
>>> print(chr(x2))  // 或是 print(chr(66))
B
>>>

---
>>> y1 = 97
>>> y2 = 98
>>> print(chr(y1))  // 或是 print(chr(97))
a
>>> print(chr(y2))  // 或是 print(chr(98))
b

.
(2) 傳回字元的 Unicode 碼值 ord() 函數:
>>> ch11 = 'A'
>>> ch12 = 'B'
>>> print(ord(ch11))  // 或是 print(ord( 'A'))
65
>>> print(ord(ch12))  // 或是 print(ord( 'B'))
66
>>>

---
>>> ch21 = 'a'
>>> ch22 = 'b'
>>> print(ord(ch21))  // 或是 print(ord( 'a'))
97
>>> print(ord(ch22))  // 或是 print(ord( 'b'))
98


2024年10月12日 星期六

[Python] name_list.reverse() and name_list[::-1]

(1) 方法1: name_list.reverse()
(2) 方法2: 使用 slice 切片 name_list[::-1]
.
# Example 1:
python3
>>>
>>> cars = ['Honda', 'BMW', 'Toyota', 'Ford']
>>> cars
['Honda', 'BMW', 'Toyota', 'Ford']
>>> cars[::-1]
['BMW', 'Ford', 'Toyota', 'BMW', 'Honda']
>>> cars.reverse()
>>> cars
['Ford', 'Toyota', 'BMW', 'Honda']
.
.
# Example 2:
>>> nums1 = [5, 3, 9, 2]
>>> nums1
[5, 3, 9, 2]
>>> nums2 = nums1[::-1]
>>> nums2
[2, 9, 3, 5]
>>> nums1.reverse()
>>> nums1
[2, 9, 3, 5]
.