这个问题似乎很容易,比如打印像
这样的星形图案1
22
333
4444
输入5
但诀窍是我们必须通过完成以下代码行来制作这种模式:
for i in range (1,input()):
print {Here goes the code}
代码不能超过2行
答案 0 :(得分:2)
使用*
进行字符串重复:
for i in range (1,input()): # Use int(input()) in 3.x
print(str(i) * i)
答案 1 :(得分:1)
my_val = 10
次重复x
次的表格的数字称为repdigits。您只需通过计算就可以生成这样的数字。挑战通过要求您生成y
的repdigits来简化这一过程; x == y
重复数字y
。
您可以使用公式y
生成重复的1
,y
次;功率为(10 ** y - 1) / 9
的十分之一会产生y
1
个零。减1并且你有y
个9。将其除以y
以获得9
个:
y
现在,您只需将其乘以>>> y = 7
>>> 10 ** y
10000000
>>> 10 ** y - 1
9999999
>>> (10 ** y - 1) // 9
1111111
即可获得y
重复的y
位数字:
y
现在您有一个为任何给定>>> y * (10 ** y - 1) // 9
7777777
生成repdigit的公式:
y
不需要字符串操作;所需要的只是算术运算符。
演示:
for y in range(1, input()):
print(y * (10 ** y - 1) // 9)