首页 > 解决方案 > 从一组字符串中查找整数

问题描述

嗨,我想解决如下问题:- 如果 I/P 为“OZONETOWER”O/P 为 012,即 0 的字符串(零)与输入字符串进行比较,当找到时,它会出现在输出中,依此类推对于 1 和 2。提供一组输入和输出以供参考:-

I/P:                               O/P:
WEIGHFOXTOURIST                    2468
OURNEONFOE                         114
ETHER                               3

我已经尝试过了,但这似乎并没有给出所有情况的结果。

def puzzle(dic_number,string,key):
    dic_values=0    
    length=len(dic_number)
    for i in dic_number:
        if i in string:
            dic_values+=1
    if dic_values ==length:
        print(key)


dic1={0:"ZERO",1:"ONE",2:"TWO",3:"THREE",4:"FOUR",5:"FIVE",6:"SIX",7:"SEVEN",8:"EIGHT",9:"NINE"}
string=input("Enter number")

for i,j in enumerate(dic1.values()):
    puzzle(j,string,i)

标签: python-3.x

解决方案


def puzzle(s):
    supper = s.upper()
    ret = []
    for n, chrs in numbers.items():
        while True:
            if all(c in supper for c in chrs):
                for c in chrs:
                    supper = supper.replace(c, '', 1)
                ret.append(n)
            else:
                break
    return ret

推荐阅读