如果没有一行的限制,通常代码可以这样写:
for x in range(1,10):
for y in range(1, x+1):
print("%s*%s=%s"%(y, x, x*y), end="\t")
print()
- range(1,10)表示从1到9;
- range(1,i+1)表示从1到i
- "%s*%s=%s"%(y, x, x*y)表示算法运算
- end=""表示不进行换行;
- 最后一个print()表示每一轮i结束后进行一次换行。
写在一行的代码如下:推导式(从后往前读)
print("\n".join("\t".join(["%s*%s=%s"%(y, x, x*y) for y in range(1, x+1)]) for x in range(1, 10)))