pure_pure 发表于 2017-4-27 22:31:53

本帖最后由 pure_pure 于 2017-4-27 22:34 编辑

刚好学到列表,学以致用!
temp=''
list1=[]
while not(temp.isnumeric()):
    temp = input('请输入一串数字:')
#思路:
#1.将字符串转成列表并排升序。
for each in temp:
    list1.append(each)
list1.sort()
print(list1)
#2.遍历list1,如果不等于1,说明该元素重复。
for each in list1:
    numCount = list1.count(each)
    if numCount != 1:
#3.如果该元素重复,把列表中该元素的多余元素都删掉,只留下一个。
      while list1.count(each) != 1:
            list1.remove(each)
      print(each + "出现了" + str(numCount) + "次")

有益 发表于 2017-4-28 09:58:11

新手·ing 发表于 2017-4-25 19:12
哪个公司的

item 本来是空值,用了 in 成员列表,就赋值了。这种赋值方式好简单。
dic.key()本来没有值,用了item in dic.key () ,dic.key()就有值了。
看来in可以左右赋值

有益 发表于 2017-4-28 11:10:16

gopythoner 发表于 2017-4-25 19:32
可以用count()函数

这个最简单,最好看明白。大师

jerryxjr1220 发表于 2017-4-28 13:05:30

可以用字典推导式,一行代码就解决了嘛。
a = list('12312245532432543508932743284724532098349320320676965765')
print({i: a.count(i) for i in set(a)})

余欲渔 发表于 2017-4-28 20:14:25

a=1234564512451
aa=list(str(a))
ab=sorted(list(set(aa)))
pr=[ for i in ab]
print(pr)

...公子 发表于 2017-5-2 11:25:12

{:5_91:}看看

Oliver__521 发表于 2017-5-2 12:58:09

{:5_107:}
num = input('输入:')
list1 = []
list2 = []
for i in num:
    if i not in list1:
      list1.append(i)
    else:
      if i not in list2:
            list2.append(i)
            a = num.count(i)
            print(i,end = ' ')
            print(a)

当回首遇上转身 发表于 2017-5-13 20:40:45

这种题没什么难度啦

solomonxian 发表于 2017-6-20 20:39:25

用字典来记录

# 想到一行字典推导式搞定
nums =
outputs = {i:nums.count(i) for i in nums if nums.count(i)>1}

bozhen 发表于 2017-8-14 05:43:50

def getRepeat():
    """ 用户输入重复数字"""
    while True:
      string = input('请输入重复的数字:')
      if not string.isdigit():
            print('输入有误,请重新输入:')
            continue
      else:
            break
   

    type_dict = dict()

    type_set = set(string)# 将string赋给一个集合变量
   

    #if len(string) == len({string}): # 不可以这么写,会把string看成一个整体,输出的长度为1
      

    if len(string) == len(type_set):# 集合是无序且唯一,如果长度还相等就说明没重复数字
      print('没有重复数字')


    for i in string:
      type_dict.setdefault(i,0) # 如果i键不存在,默认给对应值赋为0,如果i存在则输出其对应的值
      type_dict += 1# 对应的重复次数加1
      
    for each_key in type_dict:
      iftype_dict > 1 : #==1时,即不是重复的数字
            print('重复的数字为%s,重复次数为%d' % (each_key,type_dict))
      


if __name__ == '__main__':   # 主入口
    getRepeat()

张大象 发表于 2017-9-20 14:56:44

str1 = '12312245532432543508932743284724532098349320320676965765'
L = []
for i in str1:
        if i not in L:
                if str1.count(i)>1:
                        L.append(i)
for i in L:
        print('数字%s重复,次数%d次'%(i,str1.count(i)))

天使骑魔鬼 发表于 2017-10-14 19:05:22

def find(a):
    for i in range(0,10):
      count = 0
      for j in a:
            if i == int(j):
                count += 1
      if count > 1:
            print("重复的数字是%d,重复次数为%d" % (i,count))

a = input("请输入一串数字:")
find(a)

haixiaotian 发表于 2018-1-12 21:08:29

import random
number = []
for i in range(0,25):
        number.append(random.randint(0,10))
print(number)

list1 =set(number)
out = []
for x in list1:
        del_number = number[:]
        del_number.remove(x)
        if x in del_number:
                out.append()
print(out)

kwty 发表于 2018-2-7 20:50:18

s = 46287392739173
count =
for i in str(s):
        count +=1
for j in range(10):
        if count > 1:
                print('数字%d共出现了%d次'%(j,count))
       

萧丹夜 发表于 2018-5-25 17:21:21

本帖最后由 萧丹夜 于 2018-5-25 17:23 编辑

表示还可以
x = input('请输入一组数字:')
y = {}
if x.isdigit():
    for i in range(10):
      y = x.count(str(i))
    for i in range(10):
      ify != 0 and y != 1:
            print('%d重复次数为:%s' %(i,y))
else:
    print('输入有误!')

steph0216 发表于 2018-5-25 23:12:58

不用count:
#假设给定的一串数字为列表,字符串也一样:
lis =
a = {}
for i in lis:
        a = a.get(i, 0) + 1        #列表推导式: a = {i:a.get(i, 0)+1 for i in lis}
      #get()函数可以获得键值,第二个参数返回找不到键后返回的默认值
print(a)

lswly_963 发表于 2018-5-27 11:25:24

#!/usr/bin/env python3
#-*- coding:utf-8 -*-

'''
    统计一串数字中每个数字重复出现的次数
'''

L = {}
l = []
n = 0
sii = '25466884513384513134545635164463523254866232313'
for i in sii:
    if i not in l:
      l.append(i)
      L = sii.count(i)
      print('sii中',l,'出现的次数为',L)
      n += 1

jrro452 发表于 2018-7-17 17:58:44

num = list(input('请输入一串数字,空格隔开:').split())
snum=set(num)
vnum =
dnum = dict(zip(snum,vnum))
s = dnum.keys()
for i in num:
    if i in s:
      dnum+=1
for x in s:
    if dnum>1:
      print('输入的数字中%s重复%d次'%(x,dnum))

pl2379965 发表于 2018-7-17 18:15:51

str.find() 不就好了

咕咕鸡鸽鸽 发表于 2019-1-5 16:00:46

看了前面发现搞不懂一串数字是怎么样哈哈哈
#题目:对给出的一串数字找出重复的数字和重复的次数~
'''

str1 = "16354944845845998"
dict1 = dict()

for each in range(10):
    dict1 = str1.count(str(each))

for key,value in dict1.items():
    if value > 1:
      print("数字%s重复出现%s次" % (key,value))
'''

#或者

list1 =
dict2 = dict()

for each in list1:
    if each not in dict2:
      dict2 = list1.count(each)

for key,value in dict2.items():
    if value > 1:
      print("数字%s重复出现%s次" % (key,value))
页: 1 [2] 3
查看完整版本: 面试的一道编程题