如何在 python 中打印字母表的 table?
How do I print a table of the alphabet in python?
我正在编写一个应该打印的程序:
A abcdefghijklmnopqrstuvwxyz
B bcdefghijklmnopqrstuvwxyz
C cdefghijklmnopqrstuvwxyz
D defghijklmnopqrstuvwxyz
E efghijklmnopqrstuvwxyz
F fghijklmnopqrstuvwxyz
G ghijklmnopqrstuvwxyz
H hijklmnopqrstuvwxyz
I ijklmnopqrstuvwxyz
J jklmnopqrstuvwxyz
K klmnopqrstuvwxyz
L lmnopqrstuvwxyz
M mnopqrstuvwxyz
N nopqrstuvwxyz
O opqrstuvwxyz
P pqrstuvwxyz
Q qrstuvwxyz
R rstuvwxyz
S stuvwxyz
T tuvwxyz
U uvwxyz
V wxyz
X xyz
Y yz
Z z
我已经为该程序编写了以下代码,但它没有打印出我想要的内容。这是我为程序写的:
alphabet = ['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']
for k in range(len(alphabet)):
for j in range(len(alphabet)):
print(alphabet[j-k],end='')
print('\n')`
它打印出来:
abcdefghijklmnopqrstuvwxyz
zabcdefghijklmnopqrstuvwxy
yzabcdefghijklmnopqrstuvwx
xyzabcdefghijklmnopqrstuvw
wxyzabcdefghijklmnopqrstuv
vwxyzabcdefghijklmnopqrstu
uvwxyzabcdefghijklmnopqrst
tuvwxyzabcdefghijklmnopqrs
stuvwxyzabcdefghijklmnopqr
rstuvwxyzabcdefghijklmnopq
qrstuvwxyzabcdefghijklmnop
pqrstuvwxyzabcdefghijklmno
opqrstuvwxyzabcdefghijklmn
nopqrstuvwxyzabcdefghijklm
mnopqrstuvwxyzabcdefghijkl
lmnopqrstuvwxyzabcdefghijk
klmnopqrstuvwxyzabcdefghij
jklmnopqrstuvwxyzabcdefghi
ijklmnopqrstuvwxyzabcdefgh
hijklmnopqrstuvwxyzabcdefg
ghijklmnopqrstuvwxyzabcdef
fghijklmnopqrstuvwxyzabcde
efghijklmnopqrstuvwxyzabcd
defghijklmnopqrstuvwxyzabc
cdefghijklmnopqrstuvwxyzab
bcdefghijklmnopqrstuvwxyza
abcdefghijklmnopqrstuvwxyz
我需要帮助来弄清楚我做错了什么,以及我需要做什么才能让代码打印我想要打印的内容。
alphabet = ['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']
for k in range(len(alphabet)):
for j in range(len(alphabet) - k):
print(alphabet[j+k],end='')
print('\n')
希望对你有所帮助
您的问题有更简洁、更简短的解决方案:
alphabet = "abcdefghijklmnopqrstuvwxyz"
for i, letter in enumerate(alphabet):
print(letter.upper(), alphabet[i:])
我建议您阅读有关 Python 切片 (from the doc, or here on Stack) 的内容。
这里还有一种更 "pythonic" 的方法,它也利用 Python 3.6 中的新 f 弦:
alphabet = 'abcdefghijklmnopqrstuvwxyz'
for i,k in enumerate(alphabet):
print(f'{k.upper()} {alphabet[i:]}')
- 您可以遍历字符串的字符。
enumerate
为两个索引提供当前迭代的值。
- f-strings 允许在字符串中计算表达式。
.upper()
给出字符串的大写版本。
[i:]
切片表示法 returns 从索引 i 开始到字符串末尾的子字符串。
这可以在两行代码中完成,使用 python 切片工具并在索引处大写:
a = 'abcdefghijklmnopqrstuvqxyz'
add = ''
for i in range(26):
print(a[i].capitalize(), a[-26:i+1])
我正在编写一个应该打印的程序:
A abcdefghijklmnopqrstuvwxyz
B bcdefghijklmnopqrstuvwxyz
C cdefghijklmnopqrstuvwxyz
D defghijklmnopqrstuvwxyz
E efghijklmnopqrstuvwxyz
F fghijklmnopqrstuvwxyz
G ghijklmnopqrstuvwxyz
H hijklmnopqrstuvwxyz
I ijklmnopqrstuvwxyz
J jklmnopqrstuvwxyz
K klmnopqrstuvwxyz
L lmnopqrstuvwxyz
M mnopqrstuvwxyz
N nopqrstuvwxyz
O opqrstuvwxyz
P pqrstuvwxyz
Q qrstuvwxyz
R rstuvwxyz
S stuvwxyz
T tuvwxyz
U uvwxyz
V wxyz
X xyz
Y yz
Z z
我已经为该程序编写了以下代码,但它没有打印出我想要的内容。这是我为程序写的:
alphabet = ['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']
for k in range(len(alphabet)):
for j in range(len(alphabet)):
print(alphabet[j-k],end='')
print('\n')`
它打印出来:
abcdefghijklmnopqrstuvwxyz
zabcdefghijklmnopqrstuvwxy
yzabcdefghijklmnopqrstuvwx
xyzabcdefghijklmnopqrstuvw
wxyzabcdefghijklmnopqrstuv
vwxyzabcdefghijklmnopqrstu
uvwxyzabcdefghijklmnopqrst
tuvwxyzabcdefghijklmnopqrs
stuvwxyzabcdefghijklmnopqr
rstuvwxyzabcdefghijklmnopq
qrstuvwxyzabcdefghijklmnop
pqrstuvwxyzabcdefghijklmno
opqrstuvwxyzabcdefghijklmn
nopqrstuvwxyzabcdefghijklm
mnopqrstuvwxyzabcdefghijkl
lmnopqrstuvwxyzabcdefghijk
klmnopqrstuvwxyzabcdefghij
jklmnopqrstuvwxyzabcdefghi
ijklmnopqrstuvwxyzabcdefgh
hijklmnopqrstuvwxyzabcdefg
ghijklmnopqrstuvwxyzabcdef
fghijklmnopqrstuvwxyzabcde
efghijklmnopqrstuvwxyzabcd
defghijklmnopqrstuvwxyzabc
cdefghijklmnopqrstuvwxyzab
bcdefghijklmnopqrstuvwxyza
abcdefghijklmnopqrstuvwxyz
我需要帮助来弄清楚我做错了什么,以及我需要做什么才能让代码打印我想要打印的内容。
alphabet = ['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']
for k in range(len(alphabet)):
for j in range(len(alphabet) - k):
print(alphabet[j+k],end='')
print('\n')
希望对你有所帮助
您的问题有更简洁、更简短的解决方案:
alphabet = "abcdefghijklmnopqrstuvwxyz"
for i, letter in enumerate(alphabet):
print(letter.upper(), alphabet[i:])
我建议您阅读有关 Python 切片 (from the doc, or here on Stack) 的内容。
这里还有一种更 "pythonic" 的方法,它也利用 Python 3.6 中的新 f 弦:
alphabet = 'abcdefghijklmnopqrstuvwxyz'
for i,k in enumerate(alphabet):
print(f'{k.upper()} {alphabet[i:]}')
- 您可以遍历字符串的字符。
enumerate
为两个索引提供当前迭代的值。- f-strings 允许在字符串中计算表达式。
.upper()
给出字符串的大写版本。[i:]
切片表示法 returns 从索引 i 开始到字符串末尾的子字符串。
这可以在两行代码中完成,使用 python 切片工具并在索引处大写:
a = 'abcdefghijklmnopqrstuvqxyz'
add = ''
for i in range(26):
print(a[i].capitalize(), a[-26:i+1])