เพื่อจุดประสงค์นี้ ให้เราใช้อ็อบเจกต์พจนานุกรมที่มีตัวเลขเป็นคีย์ และแทนค่าคำที่เป็นค่า -
dct={'0':'zero','1':'one','2':'two','3':'three','4':'four',
'5':'five','6':'six','7':'seven','8':'eight','9':'nine' เริ่มต้นวัตถุสตริงใหม่
newstr=''
ใช้ for loop สำรวจแต่ละอักขระ ch จากสตริงอินพุตที่ตรวจสอบว่าเป็นตัวเลขหรือไม่โดยใช้ฟังก์ชัน isdigit()
หากเป็นตัวเลข ใช้เป็นคีย์และค้นหาค่าที่เกี่ยวข้องจากพจนานุกรมและผนวกเข้ากับ newstr หากไม่ผนวกอักขระ ch เข้ากับ newstr รหัสที่สมบูรณ์มีดังนี้:
string='I have 3 Networking books, 0 Database books, and 8 Programming books.'
dct={'0':'zero','1':'one','2':'two','3':'three','4':'four',
'5':'five','6':'six','7':'seven','8':'eight','9':'nine'}
newstr=''
for ch in string:
if ch.isdigit()==True:
dw=dct[ch]
newstr=newstr+dw
else:
newstr=newstr+ch
print (newstr) ผลลัพธ์เป็นไปตามที่ต้องการ
I have three Networking books, zero Database books, and eight Programming books.