从 第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')