如何在一行中解决模式问题

huangapple go评论65阅读模式
英文:

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='')

我不能使用strjoin,而且代码行数不能超过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)]

huangapple
  • 本文由 发表于 2023年5月21日 13:37:39
  • 转载请务必保留本文链接:https://go.coder-hub.com/76298440.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定