代码:
score={'a':1,'b':2,'c':3,'d':4,'e':5} #value of the alphabet
或
a=1
b=2
c=3
d=4
e=5
word=input('Enter a word:')
word_list=list(word)
for x in word:
print(x)
如果我输入bad
输出:
b
a
d
问题:如何将字母的值放在输出的旁边,像这样:
b 2
a 1
d 4
答案 0 :(得分:3)
一种通用的方法是借助ord函数,它代表字母的整数值
for letter in ['b', 'a', 'd']:
print(letter + ' ' + str(ord(letter) - ord('a') + 1))
或
word = 'test'
for letter in word:
print(letter + ' ' + str(ord(letter) - ord('a') + 1))
这样,无需字典
答案 1 :(得分:2)
由于score
是字典,因此您可以简单地使用x
作为索引来获取其值:
for x in word:
print(x, score[x])
答案 2 :(得分:1)
使用python 3.6 f-strings的One-Liner。
print("\n".join((f"{score} {scores[score]}" for score in scores))
或者,如果您不能使用f-strings
,则可以使用:
print(("\n".join("{} {}".format(score, scores[score]) for score in scores))
答案 3 :(得分:0)
for
循环仅在键上进行迭代。要同样获取值,您需要
for letter, value in score.items():
print(...)