我是新來的python,我真的找不到辦法做到這一點。如何在for循環中編輯字符串字母
我想根據某些條件更改字符串的字母。以下是代碼:
for c in text:
ordChar=ord(c)
if ordChar>=65 and ordChar<=90:
ordChar=ordChar+13
if ordChar>90:
ordChar=ordChar-90+64
c=chr(ordChar)
else:
if ordChar>=97 and ordChar<=122:
ordChar=ordChar+13
if ordChar>122:
ordChar=ordChar-122+96
c=chr(ordChar)
return text
返回的text
的值與參數值相同。我認爲變量是指針,所以編輯c
,它應該編輯text
。我究竟做錯了什麼?
在Python中,字符串是**不可變的**。這意味着您無法編輯字符串的單個部分,因爲您正試圖在此處進行編輯。您只是將'c'設置爲不同的值 – scohe001
您是否試圖實施rot13?看看一些很好/乾淨的方式來做到這一點:http://stackoverflow.com/q/3269686/298479 – ThiefMaster
@Josh:即使他們是可變的,這裏使用的方法將無法正常工作。 'a = [1,2,3];對於c:\ n c = None'不會改變'a'。 (當然你需要 –