Итак, для начала я новичок в программировании в целом (примерно 3 месяца или около того), и хотя обучение через книги - это хорошо, я действительно стараюсь применять свои знания и учиться на опыте.
На моей работе сотрудники нашего склада часто неправильно выбирают заказы, поэтому я пытаюсь разработать что-то, что извлечет список заказов из файла .txt и сравнит его с выбранным товаром.Я чувствую, что это задача, которую я могу использовать, чтобы закрепить некоторые из моих текущих знаний, в то же время изучая новые вещи.
from tkinter.filedialog import askopenfilename
#This splits the order .txt file into a list
def picklist(ordernum):
with open(ordernum, "r") as f:
mylist = [line.strip() for line in f]
return mylist
def test(list):
pickeditem = input("Please scan the first item")
for i in range(len(list)):
if list[i] == pickeditem:
print("Correct item.")
else:
while list[i] != pickeditem:
input("Wrong item! Please scan again:")
if list[i] == pickeditem:
print("Correct item.")
def order():
print("Please pick the order you want to complete")
order = askopenfilename() #gets order .txt from user
pcklist = picklist(order)
print("You pick list is: ",pcklist)
test(pcklist)
order()
Таким образом, общая идея состоит в том, чтобы создать файл .txt со списком серийных кодов элементов, которыенужно потянуть, а затем получить это в Python в функции заказа, которую я создал.Затем я использую функцию выбора, чтобы разделить элементы, которые хранятся в файле .txt, в список, чтобы я мог заставить пользователя сканировать один элемент за раз, чтобы убедиться, что он правильный.
Здесь я пытаюсь вызвать то, что в настоящее время называется тестовой функцией.Я хочу, чтобы эта функция принимала каждый элемент в списке, и если он равен элементу, отсканированному для печати, то это правильный элемент.Это отлично работает, отлично подходит для первого пункта.
Проблема состоит в том, чтобы заставить его перебирать следующий элемент в списке.Таким образом, если элемент один равен 2155, а элемент 2155 отсканирован, он скажет правильный элемент.Проблема заключается в том, что он скажет: «Неправильный предмет! Пожалуйста, отсканируйте снова:», поскольку я предполагаю, что pythong теперь переместился на пункт 2 в списке.Но, если я затем введу код для 2, он скажет, что неправильный пункт!Пожалуйста, отсканируйте снова.
Я пытался использовать индексирование списков, чтобы не использовать avial - возможно, мне следовало бы сделать это в одной функции, а не разбивать ее, как я.
Я, конечно, не смотрюдля того, чтобы кто-нибудь закончил код для меня, но действительно указал мне правильное направление в том, что мне нужно изучить.Конечная цель проекта состоит в том, чтобы он также содержал информацию о местоположении склада для каждого товара, количестве каждого необходимого товара и возможности извлечения списка выбора из нашей внутренней системы заказов.Тем не менее, это вещи, которые я хочу интегрировать по мере своего обучения.
Я понимаю, что это, вероятно, не самый хитрый, самый питонский код, когда-либо, но на самом деле я после чего-то легкого для чтения, понимания и редактирования в будущем.
Пока мне просто нужно понять, что ямне нужно узнать / как мне нужно подумать об этой проблеме, чтобы я мог проверить, что каждый элемент в предоставленном файле .txt соответствует каждому элементу, отсканированному пользователем.
Заранее спасибо.