Python 3.x 在不使用变量的情况下使用input()方法的值

Python 3.x 在不使用变量的情况下使用input()方法的值,python-3.x,user-input,Python 3.x,User Input,如果input()方法的值是列表myList的一部分,我想打印该方法的值。我想获取input()的值,并在不使用变量的情况下打印它 myList = ["Banana", "Apple", "Lemon","Strawberry"] if input() in myList: print(input()) else: print("Not found")

如果
input()
方法的值是列表
myList
的一部分,我想打印该方法的值。我想获取
input()
的值,并在不使用变量的情况下打印它

myList = ["Banana", "Apple", "Lemon","Strawberry"]

if input() in myList:
        print(input())
    else:
        print("Not found")

print(input())
没有获取输入的值。我想得到这个值,如果它在
myList

中,正如我在前面的评论中所解释的,请查看输入语句是如何工作的

这是从上述链接到另一个类似问题的摘录:

  • input()的结果是一个存在的未命名临时变量 仅在计算完整表达式之前。一旦+被执行, 临时变量实际上已丢失(并将成为垃圾) 最终收集)
本质上,除非将其存储到变量中,否则无法访问input()语句中的值。一旦代码超出mylist:中的
if input(),该值就会丢失。如果您想访问它,您需要存储并使用它


您能解释一下为什么不想将值存储到变量中吗?

您不能
input()
返回输入的字符串。如果以后要使用它,则必须将其保留在必须使用变量的位置,而不是其他变量。Your first input()从用户处获取输入并对照列表进行检查。但是,您正在再次调用input()方法,因此这是一个新的input实例,与以前的输入不匹配。如果要引用前一个变量,必须将其存储到一个变量中,然后检查这是否回答了您的问题?正如上面链接
中所解释的,input()的结果是一个未命名的临时变量,它只存在于对完整表达式求值之前。一旦+被执行,临时变量实际上会丢失(并且最终会被垃圾收集)。
在您的情况下,当您的语句移出if语句检查时,即使代码进入if语句内部,临时变量也会丢失