Python 程序在提示时不执行任何操作
我非常匆忙地编写了一个程序,只是想看看我是否可以改进一些旧代码,因为我无法保存它,但现在我将它写入.csv文件,它什么也不做。如果我在它运行时尝试与它交互,即按1、2、3、4,则什么也不会发生,它甚至不会带原因退出,因此我无法对其进行故障排除。这是密码,有人能告诉我我遗漏了什么吗Python 程序在提示时不执行任何操作,python,python-3.x,Python,Python 3.x,我非常匆忙地编写了一个程序,只是想看看我是否可以改进一些旧代码,因为我无法保存它,但现在我将它写入.csv文件,它什么也不做。如果我在它运行时尝试与它交互,即按1、2、3、4,则什么也不会发生,它甚至不会带原因退出,因此我无法对其进行故障排除。这是密码,有人能告诉我我遗漏了什么吗 import pandas as pd import csv import matplotlib.pyplot as plt import numpy as np myDict = {"Apples": 150
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
既然还没有人回答这个问题。。。这里有一个快速修复它的方法。尽管如此,我只会显示一次命令选项,而不是每次
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])
我只是想确认一下。你按enter键了吗?你在循环中中断了对csv的写入,从未提示新的输入/终止while循环,因此只要一次
run==“4”
反复打开/写入,就会继续输入elif
语句,一旦提示,它将编译,但不会执行任何操作。您是否正在输入。。。。因为这是有效的,没有什么会导致这种情况