英文:
How to solve pattern in one line
问题
我一直在尝试使用一行代码打印下面的输出
这对我来说是一个任务。下面的输出是int
1
121
12321
1234321
123454321
我的代码:
n=5
lst = []
for i in range(0,n):
lst.append(i+1)
print(*lst+lst[::-1][1:],sep='')
我不能使用str
或join
,而且代码行数不能超过2行
如何实现它?
英文:
I have been trying a lot to print below output using one line
Its a task for me. The below output is in int
1
121
12321
1234321
123454321
My code :
n=5
lst = []
for i in range(0,n):
lst.append(i+1)
print(*lst+lst[::-1][1:],sep='')
I cannot use the str
or join
and even code of lines should not be more then 2 lines
How to achieve it ?
答案1
得分: 1
使用公式 ((10**i - 1) // 9) ** 2
使用for循环
n = int(input())
for i in range(1, n+1): print(((10 ** i-1) // 9) ** 2)
方法2
n = int(input())
[print(((10**i - 1) // 9) ** 2) for i in range(1, n + 1)]
英文:
Using the formula ((10**i - 1) // 9) ** 2
Using for loop
n = int(input())
for i in range(1, n+1):print(((10 ** i-1) // 9) ** 2)
Approach 2
n = int(input())
[print(((10**i - 1) // 9) ** 2) for i in range(1, n + 1)]
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论