Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果语句不起作用,python_Python_If Statement - Fatal编程技术网

如果语句不起作用,python

如果语句不起作用,python,python,if-statement,Python,If Statement,此代码要求用户选择1或2。如果为1,则为blahblah;如果是2,那么布拉布拉赫。如果两者都不存在,则重复此操作,直到输入1或2。程序不接受1或2,而是直接转到“else”并重复输入问题以输入1或2 def optionType (): # pick option #pdb.set_trace() option = '' print ('Which slice option do you want, even slice (1) or leftover(2)

此代码要求用户选择1或2。如果为1,则为blahblah;如果是2,那么布拉布拉赫。如果两者都不存在,则重复此操作,直到输入1或2。程序不接受1或2,而是直接转到“else”并重复输入问题以输入1或2

def optionType ():         # pick option

#pdb.set_trace()

    option = ''
    print ('Which slice option do you want, even slice (1) or leftover(2)? ')
    input (option)

    if option == '1':
        evenSlice()        #includes decimal

    elif option == '2':
        leftoverSlice()    #omits decimal

    else:
        print('Enter either 1 or 2.')
        optionType()

感谢您的帮助。

您需要存储以下项的返回值:

函数参数是要显示的文本,而不是要接收用户输入的变量

  • 您需要存储该选项

    option=input('您想要哪个切片选项?偶数切片(1)还是剩余切片(2)?)

  • 如果您使用的是Python2(但不是Python3):

  • 当您这样做时,如果有人传入1,它将是一个int,而不是字符串

    如果选项==1:

  • 因此,
    input
    如果在[]中键入字母,将导致错误,您可能需要
    raw\u input

    option=raw\u input('您想要哪个切片选项?偶数切片(1)还是剩余切片(2)?)


  • 第一步:打印
    选项
    。第二步:查看打印的内容(在本例中,option没有分配输入,使用这种基本的调试方法,输入变得相当明显)。发布SO应该是第42步或其他什么:是否使用Python 2或3?@Burnkhalid:我会根据
    print('Enter…
    语句)猜测3(尽管这不能保证任何事情)是的,因为它在2.x中也可以正常工作。@BurhanKhalid:根据该用户目前提出的其他问题判断,这是Python 3。好吧,这是第一步,但是
    if
    仍然不起作用,因为他最终会将字符串与int进行比较。@BurhanKhalid——在python3.x中不起作用(基于带打印的parens是一种有效的可能性)是这样吗……该死的,我还以为你在那儿呢。Maritjn:P
    raw_input
    只是Python 2。OP似乎在使用Python 3,其中
    input()
    总是返回一个字符串。我不知道python3是怎么回事。谢谢!但不知道OP在用什么。好吧,看看OP问的其他问题,python版本是在哪里给出的,它是python3。
    option = input('Which slice option do you want, even slice (1) or leftover(2)? ')