首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python,如何将字母表打印到语音

Python,如何将字母表打印到语音
EN

Stack Overflow用户
提问于 2019-09-25 15:07:13
回答 3查看 732关注 0票数 1

所以我需要创建一个在list/array中存储拼音字母的程序。该程序要求用户输入,并将输入的每个字母转换为每个字符的拼音版本。

代码语言:javascript
复制
e.g Apple = Alpha, Papa, Papa, Lima, Echo.

我不知道如何做到这一点,我所能想到的就是

代码语言:javascript
复制
 Phonetics = ["Alpha","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","X-Ray","Yankee","Zulu"]
Alphabetics = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
word = (input("Please enter your word: "))
for x in word:
print (x)
EN

回答 3

Stack Overflow用户

发布于 2019-09-25 15:10:12

这是一种方法。创建一个以字母为键,以拼音为值的字典。

为例:

代码语言:javascript
复制
phonetics = ["Alpha","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","X-Ray","Yankee","Zulu"]
alphabetics = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
check_value = dict(zip(alphabetics, phonetics)) # {'a': 'Alpha', 'b': 'Bravo', 'c': 'Charlie'......

word = (input("Please enter your word: "))

print(",".join(check_value[l.lower()] for l in word))
# --> Alpha,Papa,Papa,Lima,Echo
票数 2
EN

Stack Overflow用户

发布于 2019-09-25 15:14:06

更多Pythonic式的方法

代码语言:javascript
复制
phonetics = {
    'a': 'Alpha',
    'b': 'Beta',
    'c': 'Charlie',
    ...
}
word = input("String: ")
for i in word:
    if i.lower() in phonetics.keys():
        print(phonetics[i.lower()])
    else:
        print(i)

更多关于Python字典here的信息。

票数 1
EN

Stack Overflow用户

发布于 2019-09-25 15:23:31

最直接的使用理解,

代码语言:javascript
复制
>>> Phonetics = ["Alpha","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","X-Ray","Yankee","Zulu"]
>>> inp = input("Please enter your word:")
Please enter your word:alpha
>>> ",".join([j for i in inp for j in Phonetics if j.lower().startswith(i.lower())])'Alpha,Lima,Papa,Hotel,Alpha'
>>> 

的答案是:

代码语言:javascript
复制
Alpha,Lima,Papa,Hotel,Alpha

注意:对于字母表,您可以改用模块字符串

代码语言:javascript
复制
import string
Alphabets = list(string.ascii_lowercase)

第二种方法,

使用语音生成字母表

代码语言:javascript
复制
>>> Phonetics = ["Alpha","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","X-Ray","Yankee","Zulu"]
>>> Alphabets = {i[0].lower(): i for i in Phonetics}
>>> inp = raw_input("Please enter your word:")
Please enter your word:apple
>>> ",".join((Alphabets[i.lower()] for i in inp))
'Alpha,Papa,Papa,Lima,Echo'
>>> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58092864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档