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循环中的迭代变量。