0

我正在尝试将数字转换为其拼写字母并使用字典然后选择字符串

我如何将每个用户输入的数字拼写字符串从 dict 存储到列表中。这是我尝试过的

num2words = {1: 'One', 2: 'Two', 3: 'Three', 4: 'Four', 5: 'Five', \
             6: 'Six', 7: 'Seven', 8: 'Eight', 9: 'Nine', 10: 'Ten', \
            11: 'Eleven', 12: 'Twelve', 13: 'Thirteen', 14: 'Fourteen', \
            15: 'Fifteen', 16: 'Sixteen', 17: 'Seventeen', 18: 'Eighteen', \
            19: 'Nineteen', 20: 'Twenty', 30: 'Thirty', 40: 'Forty', \
            50: 'Fifty', 60: 'Sixty', 70: 'Seventy', 80: 'Eighty', \
            90: 'Ninety', 0: 'Zero'}
            
def n2w(n):
        try:
            return num2words[n]
        except KeyError:
            try:
                return num2words[n-n%10] + num2words[n%10].lower()
            except KeyError:
                return 'Number out of range'            

n = int(input())
values = list(map(int , input().split()))
x = []
for i in value:
    x.append(n2w(i))

假设我有元音 ['a' , 'e' , 'i' , 'o' , 'u'] 预定义列表现在我想计算元音 x 的数量?如何实施?

4

2 回答 2

0

如果我理解正确,您想计算字符串中元音的数量。这是一个非常简单的方法:

VOWELS = ['a', 'e', 'i', 'o', 'u']
input_string = "test string"

n = 0
for char in input_string:
    if char in VOWELS:
        n += 1

print(n)

如果您想要@PatrickArtner 所述的更复杂和优雅的方法

n = sum(v in VOWELS for v in input_string)
于 2020-08-16T08:29:14.747 回答
0

将此代码添加到您的程序中:

vowels=['a' , 'e' , 'i' , 'o' , 'u']
string='your string'
n=0
for vowel in vowels:
    n+=string.count(vowel)
于 2020-08-16T08:30:25.337 回答