【发布时间】:2015-09-04 01:47:17
【问题描述】:
正在为我正在执行的任务编写 python 脚本。
错误在于它返回“索引超出范围”错误。数据从文本文件中提取,然后写入列表。(我将在代码正上方发布文本文件的内容)索引 [0] 工作得很好,但是 [0] 之上的任何内容都会产生错误。不知道如何去做这个,干杯! (抱歉,如果缩进关闭)
文本文件内容 - 热身衣,25,10,beanies,10,10,socks,7,9
__author__ = 'Nieck ten Broek'
import easygui as eg
import time
eg.msgbox("Welcome to Ramu's stock app")
stock_list = [ ]
def show_clubmember():
member_infile = open("members.txt","r")
display_member = member_infile.read()
print(display_member)
def add_clubmember():
member_name = eg.enterbox("Please enter your full name")
member_number = eg.enterbox("please enter your preferred phone number")
member_outfile = open("members.txt","a")
member_outfile.write(member_name + ",")
member_outfile.write(member_number + ",")
member_outfile.write(time.strftime("%c")+ '\n')
member_outfile.close()
def read_stock():
stock_outifle = open("stock.txt","r")
read_stock = stock_outifle.read()
print(read_stock)
stock_list.append(read_stock.strip("\n"))
print(stock_list)
def change_stock():
change_stock_outfile = open("stock.txt","a")
def sale():
sale_stock = open("stock.txt","r")
read_sale_stock = sale_stock.read()
print(read_sale_stock)
stock_list.write(read_sale_stock)
warm_cost = stock_list[0]
beanie_cost = stock_list[4]
sock_cost = stock_list[8]
print(stock_list)
#print(stock_list)
#eg.msgbox("what would you like to buy?")
# choices = ("warmup tops","beanies","socks")
#eg.choicebox("select options","selection",(choices))
def main():
menu_options=("Add member","Read stock","Change stock","sale",
"show members","quit")
choice = eg.choicebox("menu","menu",menu_options)
print(choice)
#choice = input("Please select your option")
if choice == "Add member":
add_clubmember()
main()
elif choice == "Read stock":
read_stock()
main()
elif choice == "Change stock":
change_stock()
main()
elif choice =="Sale":
sale()
main()
elif choice == "show members":
show_clubmember()
main()
elif choice == "quit":
quit()
else:
quit()
main()
【问题讨论】:
-
请更正所有的缩进。无法分辨函数中有什么,没有什么。
-
如果你能修复,缩进非常不受欢迎。很难以当前形式阅读代码,但看起来您没有用“,”分割行以将其转换为列表。
-
我已经修复了缩进,对不起那些家伙.. e4c5 - 是否必须剥离“,才能使索引正常工作?
-
您是否尝试过使用
stock_list = stock_list.split(',')? -
menu_options=("Add member","Read stock","Change stock","sale","show" members","quit") 看起来不正确,不应该是“show会员”?