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字符连接成新的字符串;

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('')
祝学习愉快!
相似问题