2017-06-13 27 views
0

私は古いコードを改善することができるかどうかを確認するために非常に急いでプログラムを書きましたが、保存することはできませんでした。 csvファイルは何もしません。つまり、1,2,3,4を押しても何も起こっていないのに、それが理由で終了しないので、トラブルシューティングできません。ここでコードは、誰も私が行方不明を教えてくれる?プロンプトが表示されてもプログラムは何もしません

import pandas as pd 
import csv 
import matplotlib.pyplot as plt 
import numpy as np 

myDict = {"Apples": 150, "Berries": 200, "Bananas": 300, "Oranges": 350} 

def menu(): 
    print("Press 1: To add stock. ") 
    print("Press 2: To check stock. ") 
    print("press 3: To enter purchase. ") 
    print("Press 4: To quit the program. ") 
    return input("What would you like to do? ") 

run = menu() 

while True: 
    if run == '1': 
     AddStock = input('Product to be added to stock? ') 
     Amount = int(input('Quantity of product to be added to stock? ')) 
     myDict[AddStock] = Amount 
     run = menu() 

    elif run == '2': 
     for key, value in myDict.items(): 
      print("{}: {}".format(key, value)) 
     run = menu() 

    elif run == '3': 
     product = input('What product was sold? ') 
     if product in myDict: 
       myDict[product] -= 1 
     else: 
      print("Product is out of stock! ") 
     run = menu() 

    elif run == '4': 
     with open('stock.csv', 'w') as stock: 
      writer = csv.writer(stock) 
      for key, value in myDict.items(): 
       writer.writerow([key, value]) 
       break 
+0

よく確認してください。あなたはenterを押しましたか? –

+0

あなたはcsvへのループ書き込みを中断していません。新しい入力を求めるプロンプトはありません/ whileループを終了するようにして、 'elif'文を連続して入力すると' run == '4''開いている/もう一度 – Pythonista

答えて

0

誰もまだこれに答えていないので、ここで簡単に修正できます。ただし、毎回ではなく、コマンドオプションを一度しか表示しませんでした。

import csv 

myDict = {"Apples": 150, "Berries": 200, "Bananas": 300, "Oranges": 350} 

def menu(): 
    print("Press 1: To add stock.") 
    print("Press 2: To check stock.") 
    print("press 3: To enter purchase.") 
    print("Press 4: To quit the program.") 
    return input("What would you like to do? ") 

run = None 
while run != '4': 
    run = menu() 
    if run == '1': 
     AddStock = input('Product to be added to stock? ') 
     Amount = int(input('Quantity of product to be added to stock? ')) 
     myDict[AddStock] = Amount 
    elif run == '2': 
     for key, value in myDict.items(): 
      print("{}: {}".format(key, value)) 

    elif run == '3': 
     product = input('What product was sold? ') 
     if product in myDict: 
      myDict[product] -= 1 
     else: 
      print("Product is out of stock! ") 

    elif run == '4': 
     with open('stock.csv', 'w', newline="") as stock: 
      writer = csv.writer(stock) 
      for key, value in myDict.items(): 
       writer.writerow([key, value]) 
+0

私はこれを試して、同じ問題が持続している、それはコンパイルされますが、一度プロンプトが表示されません。 –

+0

あなたは入力しています....これは動作し、それを引き起こすものは何もないので – Pythonista

関連する問題