如何在for循环中,Python打印时删除空格?

2024-05-13 10:46:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python新手。尝试创建一个简单的函数,通过dict值将字符串输入转换为盲文(“1”表示凹凸,0表示凹凸)。在

我确信有更快/更好的方法来做这件事,但我所拥有的几乎是有效的(另一种说法是它根本不起作用)。在

alphabet = {
'a': '100000','b': '110000','c': '100100','d': '100110'
#etc
}
def answer(plaintext):

    for i in str(plaintext):
        for key, value in alphabet.iteritems():
            if i in key:
                print value,            

answer('Kiwi')

打印:

^{pr2}$

我的问题是如何删除空格?我需要打印成:

000001101000010100010111010100

它以元组的形式打印,所以我不能使用.strip()。在


Tags: 方法key函数字符串answerinforvalue
3条回答

在函数的第一行中,创建一个容器l=[]。将循环内的最后一个语句更改为l.append(value)。在循环之外,但仍在函数内部,执行return ''.join(l)。现在应该可以工作了。在

brail = []
for i in str(...):
  if alphabet.get(i):
    brail.append(alphabet[i])
print ''.join(brail)

我认为这是一种Python式的方式:

def answer(plaintext):
    alphabet = { ... }
    return "".join([alphabet[c] for c in plaintext])

(这假设plaintext中的所有字母都在alphabet中)

相关问题 更多 >