当前位置: 首页 > 知识库问答 >
问题:

Python if语句使我困惑[重复]

寿元白
2023-03-14
for i in range(10):
    if i > 3 < 5:
        print(i, "first")
    else:
        print(i, "second")
0 second
1 second
2 second
3 second
4 first
5 first
6 first
7 first
8 first
9 first
0 second
1 second
2 second
3 second
4 first
5 second
6 second
7 second
8 second
9 second

你自己试试看。这对我来说毫无意义。为什么要这样做?

我知道你可能在想,你为什么不说

if i == 4

但这只是我程序中的一个简化问题。

提前谢谢

雨果

共有2个答案

邵博远
2023-03-14

正确的语法是:

if 3 < i < 5:

请注意,Python在这里是特殊的,并且这种构造在大多数其他语言中都不起作用(您必须说3之类的语言)

郜修雅
2023-03-14

一系列运算符,如i

i > 3 and 3 < 5

其中,左运算符和右运算符的“中间”操作数重复。你想要

3 < i and i < 5

,可以缩写为(使用前面解释的相反)3

 类似资料:
  • 问题内容: 与此代码有点混淆。 我在pg-go 仓库中找到了这段代码,不知道为什么这样声明。请解释一下用这种方式声明变量的用例是什么。 问题答案: 这在运行时不会执行任何操作,但是除非类型满足接口要求,否则编译将失败。这是一种静态断言。

  • 我在spring中读到了关于事务管理的内容,在我们的服务方法或服务类中使用@Transactional注释,并用它的传播、隔离、超时和只读属性配置我们的事务。现在我的问题是: 1)如果我们适当地使用@Transactional来实现ACID属性,我们还需要使用同步(使用synchronized关键字)或多线程吗? 2)在我们的java EE Web应用程序中仍然使用java多线程的不同场景是什么?

  • 下面是下一个gc日志(第一行是我执行的时间减去应用程序停止工作的时间)。 在时,该应用程序再次停止工作。 然后我再次使用命令,应用程序再次返回ok。 下面是结果文件中的一个特殊线程。除了in_vm之外,所有线程的状态都被阻塞。 这里是我的环境。

  • 问题内容: 我试图在Spring中了解BeanPostProcessor,但我不了解它的作用。BeanPostProcessor定义在这些点上调用的两个方法是否正确: 初始化之前(init方法或afterPropertiesSet),但是实例已创建。 在调用init方法或afterPropertiesSet方法之后 那是对的吗?给定示例和第118页上的文字,这进一步令人困惑。我认为我不能从文本中复

  • 我用这样的JAVA_OPTS启动了 jvm: 过了一段时间,当我查看GC日志时:

  • 问题内容: 我有一个抽象的Parent类,其中有多个孩子。我希望孩子能够拥有一个对该孩子的每个实例都相同的变量。我不希望将构造函数传递给孩子来告诉它它的名字,因为在可以对其进行硬编码时,这似乎很愚蠢。从我读到的内容来看,以下“隐藏”了parents实例变量,并且无法按我的意愿工作。 明确地说,基本上我想要的是类似c.getClass()。getName()的东西,但是我不想让结果依赖于类名,而是依