Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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_Python 3.x - Fatal编程技术网

Python 简单程序执行字符串比较时出现意外的打印输出

Python 简单程序执行字符串比较时出现意外的打印输出,python,python-3.x,Python,Python 3.x,我正在制作一个程序,要求用户输入他们想知道的单词在列表中的位置。然而,我遇到了一个问题 当我运行提供单词“ask”作为输入的程序时,它不会打印句子“您的号码在num'st位置!”。我希望它被打印两次,因为单词在列表中的两次位置正好是这些位置 相反,输出是: 1 10 None 这是我的代码: food = "ask not what your country can do for you ask what you can do for your country" food2 = food.sp

我正在制作一个程序,要求用户输入他们想知道的单词在列表中的位置。然而,我遇到了一个问题

当我运行提供单词“ask”作为输入的程序时,它不会打印句子“您的号码在num'st位置!”。我希望它被打印两次,因为单词在列表中的两次位置正好是这些位置

相反,输出是:

1
10
None
这是我的代码:

food = "ask not what your country can do for you ask what you can do for your country"
food2 = food.split()
print (food)

word = (input("Enter Word: "))

for (num, x) in enumerate(list(food2)):
    if word == x:
        print (num + 1)
        if num == "1" and "10" :
            print ("Your number is in the ",num,"st position!")

使用
raw\u input
代替
input
。而且,在Python中,“10”总是正确的,所以检查它是否是无意义的。

list(food2)是没有必要的

如果num==“1”和“10”:您正在用整数检查一个数字,然后查看“10”是否为真,因为它总是存在的。你为什么需要这份声明

food = "ask not what your country can do for you ask what you can do for your country"
food2 = food.split()
print(food)

word = input("Enter Word: ")

for (num, x) in enumerate(food2):
    if word == x:
        print ("Your word is in position ",num+1,"!")

如果num==“1”和“10”,您试图实现什么目标?您将数字与字符串进行比较,然后您的第二个
如果
没有做您想做的事情,它就永远不会是
真的
。我使用“ask”这个词来测试我的程序,它恰好出现在第一和第十个位置。Alex.我该怎么做?很抱歉给您带来不便,我是Python新手!如果num==“1”和“10”
,那么
有什么用?如果删除该行,将获得输出。如果num==“1”或“10”
,也可以使用
。这是一个糟糕的答案,无法解决问题。打印参数周围的参数应该表明这可能是Python 3。当我运行程序时,我可以选择要知道其位置的单词。我也在测试这个程序,所以我用“询问”这个词来检查它是否有效“询问”出现在第1和第10位。程序将允许用户从“食物”变量中选择单词。此代码适用于任何单词。您不应该使用if语句来测试代码是否工作。您应该制作一个测试用例,例如“放入单词询问”,定义您的预期输出“您的单词位于位置1!\n您的单词位于位置10!”。最后,检查您的预测是否与实际输出相符。这样,您就不需要修改代码来测试它了。我已经完成了前面所说的,它现在可以工作了,但是“None”这个词也返回了。是否要删除此项?我发布的代码在程序结束时不会返回None。您正在运行哪个版本的python,以及如何运行该程序?(CLI、IDLE等)我在mac上使用带IDLE的Python3.4.3,但没有得到“无”输出