- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是不是疯了?这是前几天运行的,现在当我尝试运行它时,出现以下错误。代码是否可能存在其他问题,这就是它没有运行的原因,或者它是否明确表示我错误地缩进了第 10 行?我对此有点迷茫。
python phonebookapp.py
File "phonebookapp.py", line 10
self.text.pack()
^
IndentationError: unexpected indent
?
from Tkinter import *
import sqlite3
class Hello():
def __init__(self, master):
frame=Frame(master, width=80, height=50)
frame.pack()
self.text = Label(frame, text=" ")
self.text.pack()
self.text.grid(row=0, sticky=W)
self.lab = Label(frame, text="name")
self.lab.pack(side=LEFT)
self.lab.grid(row=1)
self.TextField = Entry(frame, text = "name", width=30)
self.TextField.insert(0, "Enter Name")
self.TextField.pack()
self.TextField.grid(row=1)
self.TextField.bind("Button-1", clearEvent)
self.TextField2 = Entry(frame, text = "age", width=30)
self.TextField2.insert(0, "Enter Age")
self.TextField2.pack()
self.TextField2.grid(row=2)
self.TextField3 = Entry(frame, text = "phone", width=30)
self.TextField3.insert(0, "Enter Phone #")
self.TextField3.pack()
self.TextField3.grid(row=3)
self.TextField4 = Entry(frame, text = "fblink", width=30)
self.TextField4.insert(0, "Enter Facebook Link")
self.TextField4.pack()
self.TextField4.grid(row=4)
self.btn=Button(frame, text='Add', command=self.add_note)
self.btn.pack()
self.btn.grid(row=5, rowspan=1, sticky="w")
self.showbtn = Button(frame, text='Update', command=self.show_notes)
self.showbtn.pack()
self.showbtn.grid(row=5, rowspan=1, sticky="")
self.delbtn = Button(frame, text='Delete', command=self.del_notes)
self.delbtn.pack()
self.delbtn.grid(row=5, rowspan=1, sticky="e")
self.content=Listbox(master, width=50)
self.content.pack()
def clearEvent(self, event):
self.TextField.delete(0,END)
def add_note(self):
if self.TextField.get() == "":
self.text["text"] = "Please type sumting"
else:
item = self.TextField.get()
item2 = self.TextField2.get()
item3 = self.TextField3.get()
item4 = self.TextField4.get()
conn = sqlite3.connect('phonebook1.db')
c = conn.cursor()
conn.execute('''
CREATE TABLE IF NOT EXISTS people(name TEXT primary key,
age TEXT, phone TEXT, fblink TEXT)''')
c.execute("insert into people values (?, ?, ?, ?)", (item, item2, item3, item4))
conn.commit()
list=c.execute("SELECT * FROM people")
conn.commit()
for row in list:
self.content.insert(END, row)
c.close()
self.TextField.delete(0, END)
self.TextField2.delete(0, END)
self.TextField3.delete(0, END)
self.TextField4.delete(0, END)
def show_notes(self):
conn = sqlite3.connect('phonebook1.db')
c =conn.cursor()
listbox.delete(0, END)
list=c.execute("SELECT * FROM people")
conn.commit()
for row in list:
self.content.insert(END, row)
c.close()
def del_notes(self):
pass
root=Tk()
application = Hello(root)
root.mainloop()
最佳答案
该行上方的行以四个空格和一个制表符开头。
该行以两个制表符开头。
对于 Python,制表符是一种不同于(更大)缩进的四个空格,即使它们恰好在您的文本编辑器(和 StackOverflow* 上)看起来相同。
这就是为什么你永远不应该混合使用制表符和空格。理想情况下,始终使用空格,而不是制表符;如果您坚持使用制表符,则永远不要使用空格。使用难以执行或为您检测的编辑器,并使用 -tt
标志运行您的代码。
* 用于缩进代码块的额外四个空格加上一行代码开头的四个空格看起来就像四个空格加一个制表符,因为该制表符跳转到第八个空格处的制表位,所以它结束在 SO 中看起来有效,即使它不是。这可能与它在您的文本编辑器中看起来有效的原因不同;在这种非常常见的情况下,它们的结果完全相同,这纯属巧合。无论如何,这意味着在 SO 上查找制表符问题的唯一方法是查看问题来源并四处移动光标,看看它是否使用单个向左箭头跳过多个空格。
关于python - 为什么我在这段 Python 代码中有缩进错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19737637/
我正在使用 libxml2 的 xmlwriter api 编写一个 xml 文件。 当我使用记事本打开文件时,缩进不正确。 有人知道怎么解决吗? 非常感谢。 最佳答案 我在这里有点冒进,但我会说“缩
我正在尝试让这个脚本工作,但它...给我缩进错误 #!/usr/bin/env python import io myfile = open('stats.txt', 'r') dan = myfil
我使用 Emacs 有一段时间了,我真的很想念一个古老的 Geany 快捷方式 - “C-i”和“C-u”。 “C-i”缩进整个当前行(将鼠标光标保持在原处),“C-u”取消整个当前行的缩进。 我发现
如何向 UILabel 内的文本添加缩进或偏移?它需要是特定的像素大小,与字体大小无关。 最佳答案 您可以创建另一个UILabel,然后将每个标签的框架设置为一定的宽度,这样,如果您想要实现这一目标,
请帮我在 Emacs haskell-mode 中设置正确的缩进 当我尝试输入诸如 ADT 或记录之类的内容时,按 后我进入了错误的列。 ,然后按 不会切换到右边,直到我输入 |或者 ';'! d
我在 Visio 2010 中有一个项目符号列表,我试图在其中缩进二级项目符号。例如: 我希望“子项目符号”项目向右缩进,这样很明显它是一个子元素。我认为功能区上的“增加缩进”选项可以做到这一点,但这
我写了这段代码: addNums key num = add [] key num where add res a:as b:bs | a == [] = res
我在生成的 xml 文档中添加了换行符。 "\n" some text etc."\n" "\n" 这最终应该是: some text etc. 这是否可以通过 google-code-pre
使用 JTabbedPane 时,如何缩进选项卡? Swing 默认输出: ------- --------- ------ | A | | B | | C | --------
我收到这些行的缩进错误 有没有在线验证器可以帮助我? showAliveTests : (pageIndex, statusFilter) -> data= pageI
在 Python 中,当你写了 100 行代码而忘记在某个地方添加一堆循环语句时,你会怎么做? 我的意思是,如果您在某处添加一个 while 语句,您现在必须缩进它下面的所有行。这不像您可以戴上牙套并
我喜欢这样做,如 indesign 或 quark...段落缩进...图片 如何在 html 和 css 中做到这一点的正确方法 我不希望文字环绕图像...我喜欢保护整个左边的部分给图片留边距就可以了
我试过添加 10px 的内边距但没有成功。你可以看到它的一个例子lower down on this page . #menu li { float: left;
这个问题在这里已经有了答案: I'm getting an IndentationError. How do I fix it? (6 个答案) 关闭去年。 while 1 == 1:
您好,我正在尝试使用来自 C# 应用程序的收据打印机打印帐单/收据。 预期的输出是这样的: ITEM NAME QTY PRICE Banana Large Y
有没有办法在 JTextPane 中缩进一段文本? import javax.swing.*; import java.awt.*; import javax.swing.text.StyledDoc
我知道 #define 等通常从不缩进。为什么? 我目前正在编写一些代码,其中混合了#define、#ifdef、#else s、#endifs 等。所有这些通常与普通 C 代码混合在一起。 #def
我认为缩进在 YAML 中很重要。 我在 irb 中测试了以下内容: > puts({1=>[1,2,3]}.to_yaml) --- 1: - 1 - 2 - 3 => nil 我期待这样的事情:
我在带有 openmp 语句的 C++ 代码中使用 Vim。 而在我的 ~/.vimrc set ai " auto indent 我的问题:当我使用 openmp 语句(以 # 开头)时,光标会跳
我想使用 Megaparsec 解析一种基本的缩进语言。最初我使用的是 Parsec,我设法通过缩进正常工作,但现在我遇到了一些麻烦。 我一直在关注一个教程here这是我必须解析一种忽略缩进的语言的代
我是一名优秀的程序员,十分优秀!