Python根据金字塔的形状打印
我的csv数据如下: 我使用此代码打印:Python根据金字塔的形状打印,python,Python,我的csv数据如下: 我使用此代码打印: import pandas as pd import csv rs = pd.read_csv(r'D:/Clustering_TOP.csv',encoding='utf-8') with open('D:/Clustering_TOP.csv','r') as csvfile: reader = csv.reader(csvfile) rows = [row for row in reader] csv_title = rows[0
import pandas as pd
import csv
rs = pd.read_csv(r'D:/Clustering_TOP.csv',encoding='utf-8')
with open('D:/Clustering_TOP.csv','r') as csvfile:
reader = csv.reader(csvfile)
rows = [row for row in reader]
csv_title = rows[0]
csv_title = csv_title[1:]
len_csv_title = len(csv_title)
for i in range(len_csv_title):
for j in range(i,len_csv_title):
print(str(rs[csv_title[i]].corr(rs[csv_title[j]])), end='\t')
print()
打印的结果是,格式不正确:
但事实上,我希望打印像金字塔一样,例如:
如何修改我的代码?我认为问题在于您的第二个“for”循环。对于范围内的j(len\u csv\u title),范围应为
,而不是范围内(i,len\u csv\u title)
,更改以下行:
for j in range(i,len_csv_title):
致:
这是一个示例代码,以您请求的模式开始打印
def pyramidpattern(n):
for i in range(0, n):
for j in range(0, i+1):
print("* ",end="")
print("\r")
n=5
pyramidpattern(n)
输出:
*
* *
* * *
* * * *
* * * * *
你好,我不是100%确定,但我认为你的第二个问题。试试这个:
for i in range(len_csv_title):
for j in range(i+1):
print(str(rs[csv_title[i]].corr(rs[csv_title[j]])), end='\t')
print()
在代码中需要反向反向循环。只要改变for循环,它就会工作
import pandas as pd
import csv
rs = pd.read_csv(r'file',encoding='utf-8')
with open('file','r') as csvfile:
reader = csv.reader(csvfile)
rows = [row for row in reader]
csv_title = rows[0]
csv_title = csv_title[1:]
len_csv_title = len(csv_title)
for i in range(len_csv_title):
for j in range(0,i+1):
print(str(rs[csv_title[i]].corr(rs[csv_title[j]])), end='\t')
print()
尝试为循环更改反向
对于范围(0,i+1)内的j:
import pandas as pd
import csv
rs = pd.read_csv(r'D:/Clustering_TOP.csv',encoding='utf-8')
with open('D:/Clustering_TOP.csv','r') as csvfile:
reader = csv.reader(csvfile)
rows = [row for row in reader]
csv_title = rows[0]
csv_title = csv_title[1:]
len_csv_title = len(csv_title)
for i in range(len_csv_title):
for j in range(i,len_csv_title):
print(str(rs[csv_title[i]].corr(rs[csv_title[j]])), end='\t')
print()
将范围(i,len\u csv\u title)中j的更改为范围(0,i+1)中j的:
应该有效