- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我到处搜索但找不到答案,我的代码有问题,我正在尝试使用 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/
我的 IndentationError 似乎无法解决。 http://pastebin.com/AFdnYcRc . #!/usr/bin/env python import os import gl
我正在做 Project Euler编程练习的问题,以便自学。我非常了解如何以数学方式解决问题,以及如何以编程方式解决问题。 但是,我必须想出一些疯狂的代码才能做到这一点; 100 个嵌套循环和 Py
我的缩进有什么问题? >>> try: print("Hello World!") except: File "", line 3 except:
这个问题在这里已经有了答案: SyntaxError inconsistency in Python? (2 个答案) 关闭 5 年前。 首先 - 我对缩进错误的代码没有任何问题,我知道这个异常是如
这个问题已经有答案了: 奥 git _a (6 个回答) 已关闭13 小时前。 我正在 Scrapysplash 上编写一个蜘蛛,我开始收到此错误: File "C:\Users\Name\Pycha
下面是我的全部代码。尝试执行它时,我不断收到错误消息 File "/Users/thomas/prac.py", line 15 elif choice == "1": IndentationEr
这个问题在这里已经有了答案: IndentationError: unindent does not match any outer indentation level (31 个答案) 关闭 2
这个问题在这里已经有了答案: I'm getting an IndentationError. How do I fix it? (6 个答案) 关闭去年。 我有这样的代码 # -*- coding
下面的代码真的让我很烦 我已经查看了 stackoverflow 和谷歌但没有找到任何东西而且我是一个非常好的 pyton 程序员并且到目前为止还没有发现我无法处理的错误.我已经尝试了所有方法,但这种
我有一个简单的问题, IndentationError 是 Python 中的 SyntaxError 吗? 我认为不是,但由于我是初学者,所以我想确定一下。语法错误只是那些给我 SyntaxErro
为什么在下面的程序中引发的是 IndentationError 而不是 SyntaxError? >>> if True: ... print "just right!" File "", lin
python出现"IndentationError: unexpected indent"错误解决办法 Python是一种对缩进非常敏感的语言,最常见的情况是tab和空格的混用
我的程序很简单,我打算制作一个控制台应用程序,在其中可以通过乌龟通过“left_star”,“left_circle” ext之类的命令使用Turtle绘制一些艺术品。当我尝试实现更新时,由于某种原因
这是我的程序,我收到以下提到的错误: def main(): print "hello" if __name__=='__main__': main() 错误 File "hello.py
当我运行以下代码时,它在函数内部有空行(没有空格),在解释器模式和 python3 split.py>> def find(s, start, predictor): ... for i in
这个问题在这里已经有了答案: IndentationError: unindent does not match any outer indentation level (30 个回答) 关闭 4 年
这个问题在这里已经有了答案: I'm getting an IndentationError. How do I fix it? (6 个答案) 关闭 4 年前。 我的 python 代码有问题。我
我使用 Sentinel2 图像并尝试对它们重新采样。 我尝试了以下代码: import os, fnmatch INPUT_FOLDER = "/d/afavro/Bureau/test_resam
我是 Python 的新手,所以请怜悯我。我的环境是: macOS Sierra 10.12.4 and Anaconda 4.3.16 我必须遵循以下代码: import os, import
This question already has answers here: I'm getting an IndentationError. How do I fix it? (4个答案) 5个月
我是一名优秀的程序员,十分优秀!