從 第3章-1 3-1.大於身高的平均值 開始
1.
引入列表的概念
a=list(map(int,input().split())) b=sum(a) c=len(a) d=b/c for i in a: if(i>=d): print('%.0f'%(i),end=' ')
2.
題目本身有些復雜,參考了網上的代碼:
x = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2] y = ['1','0','X','9','8','7','6','5','4','3','2'] n = int(input()) m = 0 for i in range(n): num = str(input()) if len(num)>18: print(num) m = 1 else: a = num[:17] c = True b = 0 for j in range(len(a)): try: b+=int(a[j])*x[j] except: c = False print(num) m = 1 break if c: b = b%11 if y[b]!=num[-1]: print(num) m = 1 if m==0: print('All passed')
3.
用切片法:只需a[::-1]就可以了,其中第一個: 表示的是切片的區間,如果沒有設定數值,默認是全部區間;第二個:表示的是切片的步數和方向,默認為切片方向為從前向后,默認步數為1.上面的-1,代表的就是從后向前,一次往前切一次,也就是剛好倒置列表。
下標表示方法:a.index(),不過相同元素的下標是相同的就沒法使用了
這里要用長度減i再減1,來計算下標
a=str(input()) m,n=input().split() c=a[::-1] for i in range(0,len(c)): if(c[i]==n): print('{:d} {:s}'.format(len(c)-i-1,n)) for i in range(0,len(c)): if(c[i]==m): print('{:d} {:s}'.format(len(c)-i-1,m))
4.
有了上面一題的啟發,這道題變得簡單多了:
a=input() b=str(input()) c=b[::-1] d=len(c) flag=0 for i in range(0,len(b)): if(c[i]==a): print('index = {}'.format(d-i-1)) flag=1 break if(flag==0): print('Not Found')