Sok más programozási nyelvtől eltérően a Python nem implicit módon írja be az egész számokat (vagy lebegtet) a karakterláncokba, amikor összefűzi őket karakterláncokká.
Szerencsére a Python rendelkezik egy praktikus beépített funkcióval, str()
amely az átadott argumentumot string formátumba konvertálja.
A karakterlánc egész számgá alakításának helytelen módja a Pythonban
Más programozási nyelvekből érkező programozók megpróbálhatják a következő karaktersorozatot végrehajtani, ami hibát eredményez:
age = 18 string = "Hello, I am " + age + " years old"
Ezt a kódot a repl.it webhelyen futtathatja.
A megjelenő hiba a következő:
Traceback (most recent call last): File "python", line 3, in TypeError: must be str, not int
Itt TypeError: must be str, not int
azt jelzi, hogy az egész számot először összefűzni kell karakterlánccá, mielőtt összefűzhető lenne.
A karakterlánc egészekké alakításának helyes módja a Pythonban
Íme egy egyszerű összefűzési példa:
age = 18 print("Hello, I am " + str(age) + " years old") # Output # Hello, I am 18 years old
Ezt a kódot a repl.it webhelyen futtathatja.
Így nyomtathat 1 2 3 4 5 6 7 8 9 10
egyetlen karakterlánccal:
result = "" for i in range(1, 11): result += str(i) + " " print(result) # Output # 1 2 3 4 5 6 7 8 9 10
A kódot a repl.it webhelyen futtathatja.
Itt van egy soronkénti magyarázat a fenti kód működéséről:
- Először egy "result" változót rendelünk egy üres karakterlánchoz.
- A for ciklust a számok listáján történő iterációra használják.
- Ez a számlista a tartományfüggvény használatával jön létre.
- így az (1,11) tartomány generálja az 1-től 10-ig terjedő számok listáját.
- Mindegyik ciklus iterációnál ez az 'i' változó 1-től 10-ig vesz fel értékeket.
- Első iteráció esetén, amikor az i = 1 változó, majd az [eredmény = eredmény + str (i) + “(szóköz)” változó, az str (i) az egész számot jelentő „i” karakterláncot alakítja át.
- Mivel i = 1, az első iterációnál végül = 1 lesz az eredmény.
- És ugyanaz a folyamat addig tart, amíg i = 10, végül az utolsó iterációs eredmény után = 1 2 3 4 5 6 7 8 9 10.
- Ezért amikor végül az eredményt kinyomtatjuk a for ciklus után, a konzol kimenete '1 2 3 4 5 6 7 8 9 10'.
Remélem, hasznosnak találta ezt. Boldog kódolás.