这是我现在的代码:
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25
这是应该打印的:
1 2 3 4 1
2 4 6 8 2
3 6 9 12 3
4 8 12 16 4
5 10 15 20 5
但它会打印:
from pandas import *
table_name="ADI"
file_name=pandas.read_excel('supermarke.xlsx')
def SQL_Insert(SOURCE, TARGET):
sql_texts = []
for index, row in SOURCE.iterrows():
sql_texts.append(
'INSERT INTO ' + TARGET + ' (' + str(', '.join(SOURCE.columns)) + ') VALUES ' + str(tuple(row.values))+";")
return ('\n'.join(sql_texts))
print(SQL_Insert(file_name, table_name))
答案 0 :(得分:3)
您需要range
到mystery_int + 1
,因为在range
中,第二个参数是排他的。例如,range(1,6)
给出1到5之间的数字。
我还添加了一个空的print()
,它基本上添加了换行符以与所需的输出匹配。
使用end='\t'
可以进一步正确对齐输出。
loop_count = 1
mystery_int = 5
for i in range(mystery_int):
for x in range(1, mystery_int + 1):
print(x * loop_count, end='\t')
print()
loop_count += 1
答案 1 :(得分:0)
x
的范围应为range(1,mystery_int+1)
,并且您还错误地在每一行的末尾打印loop_count
(我将其替换为空字符串,只是为了产生换行符)
loop_count = 1
for i in range(mystery_int):
for x in range(1,mystery_int+1):
print(x*loop_count, end=" ")
print('')
loop_count+=1
请注意,实际上并不需要loop_count
变量。您可以将程序编写为:
for i in range(1,mystery_int+1):
for x in range(1,mystery_int+1):
print(x*i, end=" ")
print('')
甚至更好:
for i in range(1,mystery_int+1):
print(*[x*i for x in range(1,mystery_int+1)], sep=" ")
答案 2 :(得分:-1)
除了使用另一个计数器,您还在两个for循环上运行,我建议仅坚持使用循环:
for i in range(1,mystery_int+1):
for x in range(1,mystery_int+1):
print(i*x, end=" ")
print("") # new line