最近在做一些編程的練習(xí),鍛煉一下編程的思維,之所以要這樣做,原因有二,首先是因為喜歡,覺得編程很好玩,其次是工作中也有需要。
先來兩個簡單的,練習(xí)一下:
1、計算字符串最后一個單詞的長度
輸入:輸入一串字符,單詞以空格隔開
輸出:整數(shù)N,最后一個單詞長度
方法1:
string=raw_input()
l=string.split(" ")
print len(l[-1])
方法2:
import sys
for line in sys.stdin:
s = line.split()
print len(s[-1])
# 結(jié)束輸入是按:ctrl+d
我覺得這道題目考察的點是字符串的分隔,以及如何獲取一個列表的最后一個元素,我看了一些人的代碼,發(fā)現(xiàn)有用循環(huán)的,雖然可以解決問題,但如果應(yīng)用在實際問題中會消耗大量的資源。
2、計算字符個數(shù)
接受一個有字母和數(shù)字以及空格組成的字符串,和一個字符,然后輸出該字符串中含有該字符的個數(shù),不區(qū)分大小寫。
輸入:輸入一個有字母和數(shù)字以及空格組成的字符串,和一個字符。
輸出:輸出該字符串中含有該字符的個數(shù),不區(qū)分大小寫。
方法1:
s=""
ch=""
chSum=0
s=raw_input()
ch=raw_input()
for ch1 in s:
if(ch1.upper()==ch.upper()):
chSum+=1
print chSum
方法2:
string=raw_input().upper()
a=raw_input().upper()
print string.count(a)
方法3
a = raw_input()
b = raw_input()
if isinstance(a, str) and isinstance(b, str):
a = a.lower()
b = b.lower()
print a.count(b)
else:
pass
方法4
while True:
try:
s = raw_input().lower()
c = raw_input().lower()[0]
print s.count(c)
except EOFError:
break
這個題目應(yīng)該在考察匹配字符串的方法,以及處理字符串是否考慮大小寫。
解答這個題目的方法很多,但是需要注意規(guī)范,養(yǎng)成良好的編程習(xí)慣。