Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何编写Python模式程序_Python 3.x - Fatal编程技术网

Python 3.x 如何编写Python模式程序

Python 3.x 如何编写Python模式程序,python-3.x,Python 3.x,我的语法需要帮助 我使用代码: numbers = 10 for number in range(numbers): print (number,end="\t") number += 1 print (number,end="\t") number += 1 print (number,end="\t") number += 1

我的语法需要帮助

我使用代码:

numbers = 10

for number in range(numbers):
        print (number,end="\t")
        number += 1
        print (number,end="\t")
        number += 1
        print (number,end="\t")
        number += 1
        print (number,end="\t")
        number += 1
        print (number,end="\t")
        number += 1
        print (number,end="\t")
        number += 1
        print (number,end="\t")
        number += 1
        print (number,end="\t")
        number += 1
        print (number,end="\t")
        number += 1
        print (number)
我不知道如何缩短代码。 如果我使用条件语句,例如:

numbers = 10

for number in range(numbers):
    print (number,end="\t")
    if int(str(numbers)[:1]) != 10:
        number += 1
        print (number)
    elif int(str(numbers)[:1] == 10):
        print (number)
它只显示:

简单(但肯定不是最好的!)的方法是循环两次:

numbers = 10
for rowIndex in range(numbers):
    rowString = ''
    for columnIndex in range(numbers): #Same number of points
        #each row is equivalent to the previous row + 1 - use existing iterator
        rowString += str(columnIndex + rowIndex) + '\t'
    print(rowString)
通过解释代码当前正在执行的操作:
您将数字(即10)转换为字符串,然后获取一个子字符串,该子字符串从零字符开始,在1字符之前结束。这将始终是“1”
您正在将其转换回整数(即1)
然后你将其与10进行比较。因为1不等于10,所以您只需在第一次打印后打印数字+1即可
如果改用范围(数字),类似的方法也会起作用,但如果没有另一个循环,它仍然只会再打印一列

numbers = 10

for number in range(numbers):
    for i in range(numbers):
        print (number,end="\t")
        number += 1
    print('\n',end='')

您可以添加嵌套for循环。

您可以执行以下操作

numbers = 10
for number in range(numbers):
    print(" ".join([str(index) for index in range(number, numbers + number )]))

嗯,为什么每行之间都有一个空行?因为我忘了打印功能是如何工作的!现在已删除换行符不建议更新for循环中的迭代变量。