用户输入行的数字模式

时间:2017-12-26 14:43:17

标签: python

程序应该打印这样的东西:

1 1 1 1 1 1 1    
2 2 2 2 2 2 2 
3 3 3 3 3 3 3
4 4 4 4 4 4 4 

(但每行之间没有空格)

这些行应该是用户输入。

lines = int(input("enter lines: "))
times = int(input("enter times: "))
for x in range(1,lines+1):
    for x in range(1,times+1):
        print(x, end=" ")
    print(x)

我制作的程序没有打印输出,似乎它被颠倒了。它必须来自打印星号的程序,这是:

lines = int(input("enter lines: "))
times = int(input("enter times: "))
for x in range(lines):
    for x in range(times):
        print("*", end=" ")
    print()

它询问程序的哪一行被改变了。谢谢

2 个答案:

答案 0 :(得分:0)

代码中的错误:

- 在嵌套for循环中不要使用相同的迭代器变量

-in for循环,你只是使用print(x)将打印附加值而不是打印下一行,这样你可以使用条件,如果它是最后一个值,那么以新行结束,否则空格

lines = int(input("enter lines: "))
times = int(input("enter times: "))
for i in range(1,lines+1):
    for j in range(1,times+1):
        if j == times:
            print(i, end="\n")
        else:
            print(i, end=" ")

答案 1 :(得分:0)

这更简单

lines = 7
times = 7
for i in range(1,times+1):
    print(' {}'.format(str(i)*lines))

但您可以从用户那里获取线条和时间的输入。

输出

 1111111
 2222222
 3333333
 4444444
 5555555
 6666666
 7777777