Опитвам се да настроя просто меню за въвеждане от потребителя (не-gui), както следва:
Ако потребителят въведе 0:
- се зарежда файл.
- появява се меню с опции 1-5, подканящи за друго потребителско въвеждане от 1 до 5. Сега тук, след първото потребителско въвеждане, се извършва известна обработка. След това бих искал да помоля потребителя за втори потребителски вход. Това трябва да продължи, докато потребителят въведе 6 или повече.
Иначе (ако потребителят не въведе 0) Отпечатайте "Грешка при излизане. Моля, рестартирайте програмата."
Ето какво имам:
import csv
# Load input file:
choiceloading = input('Please enter 0 to load the input file: ')
if choiceloading == 0:
with open('eggs.csv', 'rb') as csvfile:
spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
for row in spamreader:
print ', '.join(row)
print (" M A I N - M E N U")
print ("1. Action 1")
print ("2. Action 2")
print ("3. Action 3")
print ("4. Action 4")
print ("5. Action 5")
# Get user input:
choice = raw_input('Enter choice [1-5] : ')
# Convert input (number) to int type:
choice = int(choice)
# Perform action based on menu-option selection by user:
if choice == 1:
print ("Action 1...")
#processing #1 is done here
elif choice == 2:
print ("Action 2...")
#processing #2 is done here
elif choice == 3:
print ("Action 3...")
#processing #3 is done here
elif choice == 4:
print ("Action 4...")
#processing #4 is done here
elif choice == 5:
print ("Action 5...")
#processing #5 is done here
else:
print ("Invalid entry. You should choose 1-5 only. Program exiting.....please restart it and try again.")
else:
print ("Invalid entry. You should choose 0 to load the file. Program exiting.....please restart it and try again.")
В момента програмата приема само 1 потребителски вход. След обработката той излиза. пр. ако потребителят въведе 3 и обработката на 3 е завършена, тогава програмата ще излезе.
Бих искал обаче да позволя на потребителя да въведе 1,2,4,5 за обработка на 1,2,4,5. След това трябва да влязат >5, за да излязат.
Въпрос: След обработка, как може да се промени този код, за да позволи на потребителя да въведе останалите изходи?