為什么這樣寫還是小寫?
def firstCharUpper(s):
? ?s[0].upper()
? ?return s
print firstCharUpper('hello')
print firstCharUpper('sunday')
print firstCharUpper('september')
為什么執行后還是小寫呢?
def firstCharUpper(s):
? ?s[0].upper()
? ?return s
print firstCharUpper('hello')
print firstCharUpper('sunday')
print firstCharUpper('september')
為什么執行后還是小寫呢?
2018-02-02
舉報
2018-02-02
你對s[0]進行upper操作后并沒有改變s 如果你print s[0].upper(),是可以看到它變大寫了。
所以用print s[0].upper+s[1:]
s是不能更改的,不能用s[0]=s[0].upper的,因為字符串是常量,不允許做左值進行賦值操作。
2018-02-06
def firstCharUpper(s):
return s.upper()[:1]+s[1:]
題目告訴我們upper函數是可以將所有字母大寫的,而我們要做的函數是大寫第一個字母,小寫之后的字母。
這個時候就要用到L【:】來切片再通過‘+’或者‘,’來連接
s.upper()[:1]是大寫s的首字母,s[1:]則是剩下的字母,這樣既達到了我們的目的
當然只要理解要求之后,也可以做到用別的切片方式來達到要求。