a=123456789
a=str(a)
print(a[-7:-3])# 写的时候注意一下python切片是[-7:-4)左闭右开的,不包含[-4]的,所以要写成-3才能取到
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
arr=[1]
print(1)
while len(arr)<10:
a=[0]+arr
b=arr+[0]
arr=[a[i]+b[i] for i in range(len(a))]
c=[str(i) for i in range(len(arr))]
print(' '.join(c))
#''.join(string) 对象必须是string类型,进行字符连接
arr=[]
for i in range(3):
a=input('please input5:')
arr.append(a)
arr.sort(reverse=True)#reverse=True表示从大到小排序
print(arr)
a=[5,6,4,8,9,2,3,56,1]
i=a.index(max(a))
a[i],a[0]=a[0],a[i]#
j=a.index(max(a))
a[j],a[-1]=a[-1],a[j]
print(a
a=[5,6,4,8,9,2,3,56,1]
b=a[-3:]+a[:-3]
print(b)
题目069:有n个人围成一圈,顺序排号。
从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
n=34
arr=list(range(1,n+1))
a=arr
b=[]
count=0
while len(a+b)>1:
num=a.pop(0)
count+=1
if count%3!=0:b.append(num)
if a==[]:
a=b
b=[]
print(a[0])
def getlength(string):
return len(string)
if __name__=='__main__':
x='dakf.LJFIRH'
print(getlength(x))
n=17
ls=sum([1/i for i in range(n,0,-2)])
print(ls)
题目078:找到年龄最大的人,并输出。
person = {“li”:18,“wang”:50,“zhang”:20,“sun”:22}
name=''
age=0
person = {
"li":18,"wang":50,"zhang":20,"sun":22}
for p in person.keys():
if person.get(p)>age:
name,age=p,person.get(p)
print(name,age)
for total in range(10000):
t=total
remain=lambda t:(t-1)/5*4
for i in range(5):
t=remain(t)
if t%1!=0:
break
else:
print(total,t) #在for循环下else表示五次t都满足结果才输出
809*??为四位数,8*??的结果为两位数,9*??的结果为3位数。
求??代表的两位数,及809*??后的结果。
l=lambda x:len(str(x))
for i in range(100):
if l(809*i)==4 and l(8*i)==2 and l(9*i)==3:#py中且不用&表示用and表示、
x=i
print(x)
print(809*x)
print(bin(10)) #十转2
print(oct(10)) #十转8
print(hex(10))#十转16
print(int('数据',2/8/16))#2/8/16转十进制
s=[i for i in '01234567']
arr=[]
import itertools
for i in range(1,9):
a=list(itertools.permutations(s,i))
l=list(map(lambda x:int(''.join(x)),a)) #使用int防止出现02等
arr=arr+l
print(i,len(l))
arr1=set(arr) #为什么会出现相同的数字,比如0123和123
arr2=list(filter(lambda x:x%2==1,arr1))
print(len(arr2))
题目089:某个公司采用公用电话传递数据,数据是四位的整数,
在传递过程中是加密的,加密规则如下:
每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
x=1234
c=5
q,b,s,g=x//1000,x//100%10,x//10%10,x%10
y=(g+c)%10*1000+(s+c)%10*100+(b+c)%10*10+(q+c)%10
print(y)
import time,random
print('《猜大小0~1000之间》')
x=random.randint(0,1000)
flag=input('是否开始(Y/N):')
if flag=='Y':
s=time.time()
while 1:
m=int(input('请输入一个数字;'))
if m>x:
print('猜大了')
elif m<x:
print('猜小了')
else:
print('bingo!')
break
e=time.time()
print('耗时%.2f'%(e-s))
print(time.sleep(5))
题目096:计算字符串中子串出现的次数。
x='babbabababbbababababbaba'
print(x.count('ab'))
path='D:\\test.txt'
with open(path,'w+') as f:f.write('')
while 1:
c=input('请输入字符:')
if c=='#':
break
else:
with open(path,'a+') as f:f.write(c)
x=input('请输入一个小写字符:')
x=x.upper()
path='D:\\test.txt'
with open(path,'w+') as f:f.write(x)
over没写的题都是可忽略的,江湖再见!!