a = input(">>>")
print("%d位数" % len(a))
d = {}
for j in range(len(a)):
if a[j] not in d:
d[a[j]] = 1
else:
d[a[j]] += 1
print(d)
for i in a[::-1]: #倒叙打印
print(i)
#print(i,end = " ") #打印成1行
a = input(">>>")
print("%d位数" % len(a))
for i in range(1,len(a)+1): #n
time = a.count(a[-i]) #n
print(a[-i],time) #倒着打印,次数
a = input(">>>")
print("%d位数" % len(a))
lst = [0] * 10 #0-9共10个数,用这10个数字做索引
for i in range(1,len(a)+1): #112233
print(a[-i], end = " ") #3 倒叙打印
lst[int(a[-i])] += 1 #lst[3] += 1
print()
for j in range(10):
if lst[j]:
print(“{}:{:3}”.format(j,lst[j]))
输出结果
>>>328722838732
12位数
{‘3’: 3, ‘2’: 4, ‘8’: 3, ‘7’: 2}
2 3 7 8 3 8 2 2 7 8 2 3
val = input(">>>")
print("{}长度为{}".format(val,len(val)))
title = ("个","十","百","千","万","十万","百万","千万")
for i in range(len(val)):
print("{:>2}: {} number={}".format(title[i],val[len(val)-1-i],val.count(val[len(val)-1-i])))
输出结果
>>>65647
65647长度为5
个: 7 number=1
十: 4 number=1
百: 6 number=2
千: 5 number=1
万: 6 number=2
num=''
#数字输入的简单判断
while True:
num=input('Input a positive number>>>').strip().lstrip('0')
if num.isdigit():
break
print("the length of {} is {}.".format(num,len(num)))
判断0-9的数字再字符串中出现的数字,每一次迭代都是使用count,都属于O(n)复杂度
counter=[0]*10
for i in range(10): #10*n
counter[i]= num.count(str(i))
if counter[i]:
print("the count of {} is {}".format(i,counter[i]))
print('~'*20)
#迭代字符串本身的字符
counter=[0]*10 #创建数值为10个0的列表
for x in num: # 依次读取num里的数 112223
i=int(x) # 将x的值转为字符串并赋给i 1 2
if counter[i]==0: #如果counter的第i项为0; 0 0
counter[i]=num.count(x) #那么第i项就等于该数的次数 count[1]=2
print("the count of {} is {}.".format(x,counter[i]))
print('~'*20)
#迭代字符串本身的字符
counter=[0]*10
for x in num:
i = int(x)
counter[i]+=1 #再counter的第i个索引处补1
for i in range(len(counter)): #迭代出counter的长度的数
if counter[i]: #如果counter不为真,则继续执行下面的命令
print("the count of {} is {}.".format(i,counter[i]))
nums=[] #创建一个空列表
while len(nums)< 5: # 循环
num=input("please input a number:").strip().lstrip('0')
if not num.isdigit(): #如果他不是数字,则不会执行下面的命令
break #如果他是数字,则继续下面的命令
print('the length of {} is {}'.format(num,len(num)))#打印出这个数和他的位度
nums.append(int(num)) #并将num转为整型并追加到nums中
#最后打印出nums列表
lst=nums.copy() #将nums列表的值复制给lst中
lst.sort() #就地排序
print(lst)
#使用冒泡法进行排序
for i in range(len(nums)):
flag=False
for j in range(len(nums)-i-1):
if nums[j]>nums[j+1]:
tmp=nums[j]
nums[j]=nums[j+1]
nums[j+1]=tmp
flag = True
if not flag:
break
print(nums)
输出结果
please input a number:73627
the length of 73627 is 5
please input a number:272726
the length of 272726 is 6
please input a number:222
the length of 222 is 3
please input a number:2222
the length of 2222 is 4
please input a number:11
the length of 11 is 2
please input a number:122
the length of 122 is 3
[11, 122, 222, 2222, 73627, 272726]
lst = [0] * 5
for i in range(1,6):
val = input("请输入一个数字:")
lst[i-1] = val
print("长度为{}".format(len(val)))
print(sorted(lst,key=int))
输出结果
== 请输入一个数字:11111
长度为5
请输入一个数字:132
长度为3
请输入一个数字:14
长度为2
请输入一个数字:23
长度为2
请输入一个数字:9
长度为1
[9, 14, 23, 132, 11111] ==
a = [0] * 5
for i in range(5):
a[i] = input("请输入一个数字:")
print("长度为{}".format(len(a[i])))
a[i] = int(a[i]) #转化为int类型,否则作为字符串类型排序会出问题,11111,132,14,23,9
#sort排序
lst1 = a.copy() #将nums列表的值复制给lst中
lst1.sort() #就地排序
print(lst1)
#冒泡法排序
for i in range(len(a)-1):
flag = False
for j in range(len(a)-i-1):
if a[j] > a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
flag = True
if not flag:
break
print(a)
输出结果
请输入一个数字:11111
长度为5
请输入一个数字:132
长度为3
请输入一个数字:14
长度为2
请输入一个数字:23
长度为2
请输入一个数字:9
长度为1
[9, 14, 23, 132, 11111]
[9, 14, 23, 132, 11111]