2017.6.17 更新:好像知道錯在哪里了。以第一個為例,輸入應該是“AHHaaBBa”,因為直接輸入AHHaaBBa時,系統不知到這是一個變量還是字符串,所以必須輸入的時候申明定義。既然這樣的話,那我在str=input()的時候將輸入定義成字符串格式例如
str=str(input())這樣呢?結果還是不可以。。。最后,最好不要把變量名和函數名取得一樣,就像我這里的str就很不合規范
%%%%% 分隔符
試了好幾種方法全都報錯,先貼出來,反正自己是覺得沒毛病
(1)首先看不懂if_name_=="_main_"這句話的定義,反正網上老師要求加的,運行首先提示
NameError: name '_name_' is not defined
把這句話刪掉后,還是出錯,提示
%%%% 分隔符 上面那個應該是:if__name__=="__main__" ,少寫了一下下划線,表達的意思是程序的入口
AHHaaBBa
Traceback (most recent call last): File "D:/Python27/yy/excer_3.py", line 11, in <module>
str=input() File "<string>", line 1, in <module>
NameError: name 'AHHaaBBa' is not defined
def countchar(str): wordlist=[chr(i) for i in range(97,23)] str=str.lower() result=[] for i in range(len(str)): x=str[i] if x in wordlist: y=wordlist.index(x) result[y]=result[y]+1 return result if _name_=="_main_": str=input() print(countchar(str))
(2)用了內置函數
def countchar(str):
wordlist=[chr(i) for i in range(97,23)]
str=str.lower()
result=[]
for index,value in enumerate(wordlist):
a=str.count(value)
result[index]=a
return result
# if _name_=="_main_":
str=input()
print(countchar(str))
仍舊出錯,Nameerror是什么問題?幾次同時出現
>>> ===================== RESTART: D:/Python27/yy/excer_3.py =====================
>>> aaAAbDC
Traceback (most recent call last): File "<pyshell#1>", line 1, in <module>
aaAAbDC
NameError: name 'aaAAbDC' is not defined
>>>
(3)當然還有這個,最后這個可以成功運行,但是提交到系統里又不行了,幸好我不想買他們的證書。雖然程序運行出來了,但是我還是不知道上面兩個代碼哪里錯了
def countchar(str): s=str.lower() result=[] for index,value in enumerate([chr(i) for i in range(97,123)]): result.append(s.count(value)) return result str=raw_input() print countchar(str)