Неверный код пользователя не достигает цели.Неподходящая часть кода
print("Welcome to the Stockroom\n")
print("The following products need new stock:\n")
f = open("lowstock","r")
print(f.read())
choice = input("\nTo update the stock levels of the above products, type 1. To cancel, enter anything else.")
if choice == '1':
with open('stockcontrol.csv',newline='') as f:
for line in f:
data = line.split(",")
productcode = int(data[0])
target = int(data[2])
stocklevel = int(data[1])
if stocklevel <= 5:
target = str(target)
import sys
import csv
data=[]
# code = code
newval= target
newtlevel = "0"
f=open("stockcontrol.csv")
reader=csv.DictReader(f,fieldnames=['code','level', 'target', 'distancefromtarget'])
for line in reader:
line['level']= newval
line['distancefromtarget']= newtlevel
data.append('%s,%s,%s,%s'%(line['code'],line['level'],line['target'],line['distancefromtarget']))
f.close()
f=open("stockcontrol.csv","w")
f.write("\n".join(data))
f.close()
print("The stock levels were updated successfully")
else:
print("Goodbye")
Если 1 вводится на вход выбора, программа просто завершается - любые идеи, почему она не заменяет строку в файл CSV и т.д.? Что мешает ему достичь этой стадии?
Какая версия Python? 'input()' отличается от Py2 и Py3, поэтому вход может быть интерпретирован как целое. Попробуйте 'if str (выбор) ==" 1 ": ...' – linusg
То же самое происходит @linusg - Я нахожусь на Python 3.4.2 –
Итак, он печатает 'Goodbye'? Этого не может быть ... – linusg