gpt4 book ai didi

python - 如何处理 IndentationError : unindent does not match any outer indentation level

转载 作者:搜寻专家 更新时间:2023-10-30 21:46:54 24 4
gpt4 key购买 nike

我到处搜索但找不到答案,我的代码有问题,我正在尝试使用 peewee 做一个简单的 list 。我遇到的只是这个错误。

  File "inventario.py", line 38
if selection =='1':
^
IndentationError: unindent does not match any outer indentation level

我读到制表符与空格混合可以实现这种情况,已经检查过了,甚至使用 SublimeText 工具也必须用空格替换制表符。

from peewee import *

db = SqliteDatabase('stockpy.db') #creates db

class Product(Model): #data to create product table
id_prod = IntegerField()
name = CharField()
price = IntegerField()
stock = IntegerField()

class Meta:
database = db #tells which db to use

Product.create_table() #creates table

def newProd(id_prod, name, price, stock):
Product.create(id_prod = id_prod, name = name, price = price, stock = stock) #adds new product with input

def deleteProd(name): #Deletes de product with the given name
todelete = Product.get(Product.name == name)
todelete.delete_instance()
def viewStock():
for name in Product.select(): #shows whats in the table
print Product.id_prod, Product.name, Product.price, Product.stock

menu = {} #simple menu
menu['1']="Add product."
menu['2']="Delete product."
menu['3']="View stock"
menu['4']="Exit"
while True:
options=menu.keys()
options.sort()
for entry in options:
print entry, menu[entry]
selection=raw_input("Please Select:")
if selection =='1':
print "Need the following data:"
id_prod = raw_input("Product id: ")
int(id_prod)
name = raw_input("Product name: ")
price = raw_input("Product price: ")
int(price)
stock = raw_input ("How many are there: ")
int(stock)
print "You're adding the following data", id_prod, name, price, stock
newProd()
elif selection == '2':
name = raw_input ("Enter the name of the product you want to delete: ")
deleteProd(name)
elif selection == '3':
print "Here's your stock"
viewStock()
elif selection == '4':
print "Goodbye"
break
else:
print "Unknown Option Selected!"

如有任何帮助或提示,我们将不胜感激。提前致谢。

最佳答案

您的缩进需要保持一致。选择一个缩进大小(4 个空格 recommended )并坚持下去。每行都应缩进此缩进大小的倍数。

我已经用每行前的空格数注释了你的代码(注意不一致之处):

menu = {} #simple menu                             # 0
menu['1']="Add product." # 0
menu['2']="Delete product." # 0
menu['3']="View stock" # 0
menu['4']="Exit" # 0
while True: # 0
options=menu.keys() # 2
options.sort() # 2
for entry in options: # 2
print entry, menu[entry] # 8
selection=raw_input("Please Select:") # 8
if selection =='1': # 3
print "Need the following data:" # 8
id_prod = raw_input("Product id: ") # 8
int(id_prod) # 8
name = raw_input("Product name: ") # 8
price = raw_input("Product price: ") # 8
int(price) # 8
stock = raw_input ("How many are there: ") # 8
int(stock) # 8
print "You're adding the following data", id_prod, name, price, stock # 8
newProd() # 6
elif selection == '2': # 3
name = raw_input ("Enter the name of the product you want to delete: ") # 8
deleteProd(name) # 7
elif selection == '3': # 3
print "Here's your stock" # 8
viewStock() # 8
elif selection == '4': # 3
print "Goodbye" # 9
break # 9
else: # 3
print "Unknown Option Selected!" # 9

关于python - 如何处理 IndentationError : unindent does not match any outer indentation level,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21101356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com