在Python中如何在一个if语句中检查两个条件

3 投票
3 回答
2167 浏览
提问于 2025-04-16 10:49

假设我有一个在Python中运行的程序,代码如下:

x=raw_input("Please enter name: ")
if x=="David" and "Jonathon"
   print "Whatever"

我想知道怎么才能让程序同时接受“Jonathon”和“David”这两个名字,并且在这两种情况下都执行打印“Whatever”。我知道用["David"和"Jonathon"]这样的写法是不对的,所以我想知道正确的写法是什么。我也知道可以通过添加一个elif语句来实现这个功能,但我想知道还有其他的方法。

3 个回答

0

你在找逻辑“或”的用法。根据我的理解,你想表达的是如果x等于“David”或者x等于“Jonathon”,那么就执行某个操作,所以你需要这样写。

很明显,x不可能同时有两个值,所以用“与”的方式永远不会得到真值。下面是正确的代码(或者用数组的方式来写)

x=raw_input("Please enter name: ")

if x=="David" or x=="Jonathon":

    print "Whatever"

根据讨论,这里有一个完整的例子,使用一个简单的配置文件(我已经测试过conf.read().split(),所以请不要对此发表评论)。这个配置文件每行包含一个名字,没有空格(所以不要写成“名字 姓氏”):

conf = open('/path/to/config.txt','r')
names = conf.read().split()

x=raw_input("Please enter name: ")
if x in names:
    print "Whatever"

如果你的名字列表可能会变得很长,这将是最容易维护的解决方案。

2

这段代码是用来做某些操作的,但具体的功能和用途需要根据上下文来理解。通常情况下,代码块里会包含一些指令或者函数,帮助程序完成特定的任务。

如果你看到这样的代码块,通常意味着这是一个示例或者一个特定功能的实现。理解这些代码的关键在于知道它们是如何与其他部分结合在一起工作的。

总之,代码块是编程中非常重要的一部分,它们帮助我们实现各种功能。理解它们的作用,可以让你更好地掌握编程的基本概念。

names = ["David", "Jonathon"]
x=raw_input("Please enter name: ")
if x in names:
    print "Whatever"
3

你可以这样做:

x=raw_input("Please enter name: ")

if x=="David" or x=="Jonathon":

    print "Whatever"

或者你也可以这样做:

names=["Bob","Joe"]
x=raw_input("What is your name?\n")
if x in names:
     print "Whatever"

如果你在处理大量数据的话。

撰写回答