2016-05-31 24 views
0
import csv 

samsung = ['samsung','s1','s2','s3','s4','s5','s6','s7','galaxy'] 
iphone = ['iphone'] 
problemTypes = [] 
solution = [] 
instruction = [] 

def solve(): 
    def foundProblem(): 
     for queryPart in whatProblem: 
      for problem in problemTypes: 
       if queryPart == problem: 
        return True 
    solved = False 
    readCSV = csv.reader(csvfile, delimiter = ',') 
    for row in readCSV: 
     solution = row[0] 
     problemTypes = row[1].split() 
     instruction = row[2] 
     if foundProblem(): 
      print('The solution is to '+solution) 
      print(instruction) 
      solved = True 
    if solved == False: 
     print('Solution not found.\nPlease contact your supplier') 

whatProblem = str(input('What seems to be the issue with your smartphone?\n')).lower().split() 
version = input('What type of phone do you have?\n').lower().split() 
if version == iphone: 
    with open('iPhone.csv') as csvfile: 
     solve() 
elif version in samsung: 
    with open('samsung.csv') as csvfile: 
     solve() 
else: 
    print('Phone not supported') 

これで開催されたリスト内の変数の値が、私はサムスンの一部の問題に会ったのですが、複数のCSVファイルを使用してトラブルシューティングを作成する試みがあるかどうかを確認する方法。入力が実際にはsamsung変数の一部であることに気づくことはできないようです。私はここに新しいですので、私はこの間違ってフォーマットした場合私に通知してくださいと解決策は非常にシンプルです私はコーディングに新しいです知っている。別の変数

version = input('What type of phone do you have?\n').lower().split() 

version = input('What type of phone do you have?\n').lower().split()[0] 

しかし、あなたは現在、最もアクセスのアプローチではありません「サムスン」を入力するようユーザーに強制入力を読ん

+0

あなたが助けを正確に何が必要か:? – Jeremy

答えて

0

は、この行を変更するには、少なくとも試してみてください。学習と試し続け、それはうまくいくでしょう!

0

それはあなたが持つ問題を抱えているが、この抽出物は間違って見えるどのビット完全には明らかではありません。

with open('iPhone.csv') as csvfile: 
    solve() 

おそらく、ブロック内でcsvfileを使用する:

with open('iPhone.csv') as csvfile: 
    solve(csvfile) 

とにsolveの実装をcsvfileを引数として受け入れるように変更します。それは、あなたがグローバル変数を介して通信しようとしている(そして、失敗している)ようです。それがうまくいっても、維持できないコードにつながる貧しい習慣です!

関連する問題