我寫返回的發生在輸入字符串不止一次不同,不區分大小寫字母字符和數字位的數的代碼。這裏是我的代碼:爲什麼括號會產生這樣的差異?
def duplicate_count(text):
sum_low = 0
dic_low = []
sum_up = 0
dic_up = []
sum_num = 0
dic_num = []
total = 0
for i in text:
if i.isalpha():
if i.islower() and text.count(i) > 1 and i not in dic_low:
dic_low.append(i)
sum_low = sum_low + 1
elif i.isupper() and text.count(i) > 1 and i not in dic_up:
dic_up.append(i)
sum_up = sum_up + 1
elif i.isdigit() and text.count(i) > 1 and i not in dic_num:
dic_num.append(i)
sum_num = sum_num + 1
total = sum_low + sum_up + sum_num
print (total)
的問題是,我注意到,當我錯過了括號「如果i.isalpha()」這個代碼用字母完美地工作之後,但似乎忽略的數字,因此,例如,如果我通過「aabbcdeBBAA」打印「4」,但如果參數是「11336」,則打印「0」。後來我發現括號已經錯過並糾正了,代碼開始正常工作,但我仍然不明白問題所在。沒有任何TraceBack,所以我猜想問題在於缺少括號。它爲什麼會產生如此大的差異?
PS:如果對不起代碼過於怪異,我是新來的節目和剛開始學編碼。 謝謝!
你可以給有和沒有括號的例子嗎?我不明白的地方,你把他們或者你忘了他們 –