join([' '.join(['%s*%s=%-2s 这里看不懂,求解释5555

来源:5-4 项目作业

精慕门0146342

2021-07-26 13:05:30

print('n'.join([' '.join(['%s*%s=%-2s' % (y, x, x*y) for y in range(1, x+1)]) for x in range(1, 10)]))


写回答

1回答

好帮手慕凡

2021-07-26

同学,你好!

​以上代码是列表生成式的写法

1、for x in range(1,10)是外层循环;

2、' '.join(["%s*%s=%-2s" % (x, y, x * y) for y in range(1, x + 1)]) for x in range(1, 10):会将列表中的元素用空格连接生成一个新的字符串;

3、'\n'.join( )将列表中的元素用\n字符连接成新的字符串;

http://img.mukewang.com/climg/60fe499e0921c5a405220068.jpg

4、%-2s意思是字符串长度为2,当原字符串的长度小于2时,在原字符串右侧补空格。

正常写法如下:

for x in range(1, 10):
    for y in range(1, x + 1):
        res = ["%s*%s=%-2s" % (x, y, x * y)]
        text = [' '.join(res)]
        result = '\n'.join(text)
        print(result, end=' ')
    print('')

祝学习愉快!



0

0 学习 · 2433 问题

查看课程