为什么我的代码跳到最后并忽略我的代码部分?

时间:2014-02-08 10:05:56

标签: python

以下是代码:

print "Welcome to the Database!"

print "Simply type the correponding number to start!"

print """

    1. Add a Student...

    2. Search for a Student...

    3. Edit a Student's Information...

    4. Delete a Student...

    5. Exit...
"""

datab = raw_input("What would you like to do?")

if datab == 1:
    dtabs = open("database.txt", "w")
    que = raw_input("What's the student's name?")
    dtabs.write(que)
    dtabs.close()

    ttrgrp = raw_input("Which tutor group do they belog to?")

当我在终端中运行它时会打印出我想要做的事情,但是一旦在程序中输入一个输出就会关闭。

2 个答案:

答案 0 :(得分:5)

raw_input()会返回字符串,但您要与整数进行比较。比较时,Python不会强制字符串:

>>> '1' == 1
False

比较一下这里的字符串:

if datab == '1':

因为这简化了验证。

答案 1 :(得分:0)

正在跳过 if 语句中的所有内容,因为datab在整数形式中永远不会等于1。 raw_input()将返回值字符串。将if语句更改为接受1作为字符串:

if datab == '1':
    #do something