Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฉันจะแทนที่ตัวเลขด้วยสตริงโดยใช้ Python ได้อย่างไร


เพื่อจุดประสงค์นี้ ให้เราใช้อ็อบเจกต์พจนานุกรมที่มีตัวเลขเป็นคีย์ และแทนค่าคำที่เป็นค่า -

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.