# 輸入乙個數字,輸出每一位數字重複幾次 ##數字的個數很有限(10個)
# 列表也可以看作是一種字典,索引也可以記錄資訊,
import random
n = random.randint(1,100000)
print(n)
counter = [0]*10
for i in str(n):
x = int(i)
counter[x] += 1
for i in range(10):
if counter[i]:
print('the count of {} is {}'.format(i,counter[i]))
# 第二種實現,遍歷每一位數放入不同的陣列,麻煩但適用於字串
num = random.randint(1,100000)
print(num)
onum = str(num)
nums = [[onum[0]]]
for i in range(len(onum)):
flag = true
for j in range(len(nums)):
if onum[i] == nums[j][0]:
flag = false
break
if flag:
for i in range(len(nums)):
print('the count of {} is {}'.format(nums[i][0],len(nums[i])))
# 題目:有n個人圍成一圈,順序排號。從第乙個人開始報數(從1到3報數),凡報到
# 3的人退出圈子,問最後留下的是原來第幾號的那位。
# 固定長度,如果淘汰,改變狀態
for n in range(3,10):
lst = [0]*n
count = 0
while lst.count(0) > 1:
for i in range(n):
if not lst[i]:
count += 1
if count % 3 == 0:
lst[i] = 1
# print(lst)
print(n,lst.index(0)+1)
# 去重
s = 'aaddizz***888'
set1 = set(s)
print(''.join(set1))
s1 = ''
for i in range(len(s)):
if s1.find(s[i]) == -1:
s1 += s[i]
print(s1)
#冒泡法排序,len()-1,len()-1-i
import random
lst = [random.randint(1,100) for i in range(10) ]
print(lst)
for i in range(len(lst)-1):
flag = true
for j in range(len(lst)-1-i):
if lst[j] > lst[j+1]:
lst[j],lst[j+1] = lst[j+1],lst[j]
flag = false
if flag:
break
print(lst)
python練習5 列表
dayup 1.0dayfactor 0.01 for i in range 365 if i 7 in 6,0 dayup 1 dayfactor else dayup 1 dayfactor print dayup format dayup a,n map int,input 請輸入不超過9的兩...
python 多表去重 Python列表去重
無聊統計了下列表去重到底有多少種方法。1.集合 list set alist 如果要保持順序 import random if name main a random.randint 0,10 for i in xrange 10 b list set a b.sort key a.index 2.字...
Python列表去重
標題有語病,其實是這樣的 假設有兩個列表 l1 1,2,3,4 l2 1,2,5,6 然後去掉l1中包含的l2的元素 直接這樣當然是不行的 def removeexists l1,l2 for e1 in l1 if e1 in l2 l1.remove e1 不管什麼語言都不能這麼幹,但是又有一點...