請問為什么首字母不受影響?
def?firstCharUpper(s): ????for?i?in?s: ????????if?i==s[0]: ????????????i=i.upper() ????????else: ????????????i=i ????return?s
可以成功運行但首字母均沒有變大寫?這是為什么呢?
def?firstCharUpper(s): ????for?i?in?s: ????????if?i==s[0]: ????????????i=i.upper() ????????else: ????????????i=i ????return?s
可以成功運行但首字母均沒有變大寫?這是為什么呢?
2019-07-26
舉報
2020-08-04
看報錯信息,應該是因為字符串是個常量,不接受對他的直接更改,在其他編程語言像c里面就有這說法。所以你能做的是借用字符串重新生成一個字符串而不能對原字符串做更改。至于對整個字符串直接用upper()可以運行,應該是這個函數的機制就是返回一個重新生成的字符串。
2020-03-08
由于tuple 內各元素是不可更改的,所以本題中的更改大小寫,需要生成另一個元組,在生成過程中進行修改。
所以s[0]=s[0:1].upper 是編譯不過的。
可以用 s[0:1].upper+s[1:] 來生成新的元組,并對首字母進行了修改。
2020-02-18
2020-02-07
對i操作,s沒受影響
2020-01-31
凡是要遍歷的,全都不 Pythonist
在Python3:
格式輸出不香嗎???哈哈
2019-08-31
2019-08-03
前面有提到過函數帶進去的是tuple,所以s[0]=i.upper()也改變不了,可以list(s)改成可更改數據。但是輸出變成
2019-07-26
def firstCharUpper(s):
? ? return s[:1].upper()+s[1:]
print firstCharUpper('hello')
print firstCharUpper('sunday')
print firstCharUpper('september')
參考一下代碼。
2019-07-26
def
?firstCharUpper(s):
????
return
?s[
0
:
1
].upper()
+
s[
1
:]
print
?firstCharUpper(
'hello'
)
print
?firstCharUpper(
'sunday'
)
print
?firstCharUpper(
'september'
)
你可以參考一下
因為你的在
并沒有對 s串進行更新
最后的return s 依舊是輸入進去的s串
2019-07-26
你可以參考一下
因為你的在
并沒有對 s串進行更新
你應該改成s[0]=i.upper()