ss =[]
num =input('>>>')
num = num.lstrip('0')print('length:',len(num),'\n倒序打印:',num[::-1])#有效位
xx =list(num)whilelen(xx):
i = xx.pop()if i in ss:continue
c = xx.count(i)#O(n)print('数字{}出现了{}次'.format(i,c+1))if c !=0:
ss.append(i)
2.输入五个十进制正整数,打印每个数的位数,分解后升序排序
five =5
l1,l2 =[],[]
count =0while five:#输入5个int型数据
num =input('>>>')if num.isdecimal():
five -=1
l1.append(num)else:print('input error')for k in l1:#计算出各数的位数并打印print(len(k.lstrip('0')),'位',end=' ')print()
l2 =list(''.join(l1))for i inrange(len(a)):#冒泡法排序
c = count
for j inrange(len(l2)-1-i):if l2[j]> l2[j+1]:
l2[j],l2[j+1]= l2[j+1],l2[j]
count +=1if c == count:breakprint(''.join(l2))
3.猴子吃桃,x个桃子,每天吃掉一半加一个,第十天发现剩一个,求x
k =1for i inrange(1,10):
k =(k+1)*2print(k)
4.随机生成十个数,求重复数与不重复数
l1 =[]
l2 =[]#重复值列表
l3 =[]#不重复的值import random
for i inrange(10):
l1.append(random.randrange(21))print('随机生成列表>>>',l1)whilelen(l1):
f = l1.pop()if f in l2:#如果新弹出的值在重复列表里continue
c = l1.count(f)#把重复的值放入新列表
l2.append(f)if c !=0else l3.append(f)print('重复的值有{}个,分别为:{}'.format(len(l2),l2))print('不重复值有{}个,分别为:{}'.format(len(l3),l3))
5.杨辉三角前六项
s =[]
m =int(input("20项以内:"))for i inrange(m):
a =[1]
s.append(a)if i ==0:continuefor u inrange(i-1):#i为1时不执行,因为s中的a是地址引用,所以可以修改其值
a.append(s[i-1][u]+s[i-1][u+1])
a.append(1)#尾部加1for i in s:print('{:^60}'.format(str(i),))
6.杨辉三角m行n项
m =int(input('第M行:'))
n =int(input('第K个:'))
l1 =[]for i inrange(m):
a =[1]
l1.append(a)if i ==0:continuefor u inrange(i-1):
a.append(l1[i-1][u]+l1[i-1][u+1])
a.append(1)print(l1[m-1][n-1])