0
サブ関数で作成したリストを別のサブ関数に呼び出そうとしています。パラメータとコール関数を使用することは、Pythonに関連する私のアキレス腱です。私は、calculateZscore関数で作成したnewListをmu globalChi関数に呼び出す必要があります。戻り値を別の関数に渡す方法
私の現在のコード:
import os
import math
'''
c:/Scripts/Lab2Data
NCSIDS_ObsExp.txt
chisquare.txt
output.txt
'''
def main():
directory = raw_input ("What is the working directory? ")
input_file = raw_input ("What is the name of the input file? ")
chiTable = raw_input ("What is the name of the chi-squared table? ")
outPut = raw_input ("What is the name of the output file? ")
path = os.path.join(directory,input_file)
path_1 = os.path.join(directory, chiTable)
path_2 = os.path.join(directory, outPut)
if __name__ == "__main__":
main()
def calculateZscore(inFileName, outFileName):
inputFile = open(inFileName,"r")
txtfile = open(outFileName, 'w')
for line in inputFile:
newList = line.strip().split(',')
obsExp = newList[-2:]
obsExp = list(map(int, obsExp))
obs = obsExp[0]
exp = obsExp[1]
zScore = (obs - exp)/math.sqrt(exp)
zScore = map(str, [zScore])
newList.extend(zScore)
txtfile = open(outFileName, 'w')
txtfile.writelines(newList)
inputFile.close() #close the files
txtfile.close()
return newList #return the list containing z scores
def globalChi(zscoreList):
print newList
あなたは何をしようとしているかを示すより簡単な例を作成できますか? –
また、ここに投稿したコードでインデントがオフになっているようです。実際に実行しているものと同じになるように編集してください。このサイトで適切な書式を設定するには、実際の字下げ用のスペースに加えて、各行の先頭に4つのスペースを追加する必要があります。 –