当前位置: 首页 > 面试题库 >

使用python中的自定义步骤进行循环

吴高畅
2023-03-14
问题内容

我可以简化python中的for循环,例如:

for i in range(10):

但是,我不知道如何制作更复杂的代码,这在c ++中确实很容易。

您将如何在python中实现这样的for循环:

for(w = n; w > 1; w = w / 2)

我到目前为止最接近的是:

for w in reversed(range(len(list)))

问题答案:

首先,最重要的是:Pythonfor循环与Cfor循环实际上并不是同一回事。它们改为For
Each循环
。您迭代一个可迭代的元素。range()生成一个可迭代的整数序列,让您模拟最常见的Cfor循环用例。

然而,大多数的时候你 希望使用range()。您将遍历列表本身:

for elem in reversed(some_list):
    # elem is a list value

如果必须具有索引,通常enumerate()可以将其添加到循环中:

for i, elem in reversed(enumerate(some_list)):
    # elem is a list value, i is it's index in the list

对于真正的“笨拙”循环,请使用while或创建自己的生成器函数:

def halved_loop(n):
    while n > 1:
        yield n
        n //= 2

for i in halved_loop(10):
    print i

打印1052。您也可以将其扩展到序列:

def halved_loop(sequence):
    n = -1
    while True:
        try:
            yield sequence[n]
        except IndexError:
            return
        n *= 2

for elem in halved_loop(['foo', 'bar', 'baz', 'quu', 'spam', 'ham', 'monty', 'python']):
    print elem

打印:

python
monty
spam
foo


 类似资料:
  • 1、什么是函数 函数,其实我们一开始学 Python 的时候就接触过。 不过我们使用的大多数都是 Python 的内置函数。 比如基本每个章节都会出现的 print() 函数。 而现在,我们主要学习的是自定义函数。 各位有没有想过为什么需要函数呢? 如果要想回答这个问题,我们需要先了解函数是什么? 函数就是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 没错,函数其实就是把代码抽象出

  • 本文向大家介绍Android 自定义View步骤,包括了Android 自定义View步骤的使用技巧和注意事项,需要的朋友参考一下 例子如下:Android 自定义View 密码框 例子 1 良好的自定义View 易用,标准,开放。 一个设计良好的自定义view和其他设计良好的类很像。封装了某个具有易用性接口的功能组合,这些功能能够有效地使用CPU和内存,并且十分开放的。但是,除了开始一个设计良好

  • 我试图按照这篇文章将cucumber规格与IntelliJ中的步骤定义相匹配。 当我按Alt Enter时,我看到检查未定义的步骤选项。但是,我应该看到意图操作创建步骤定义。 我想我已经安装了Cucumber IntelliJ插件,所以这应该不是问题。非常感谢任何帮助。

  • 我不能为一个项目用cucumber执行简单的测试。我在Intellij13社区,使用cucumber插件。 我在features目录中编写了我的features文件,我还通过插件实现了创建它们的步骤。intellij可以识别功能文件中的我的步骤,它可以导航并转到步骤实现。当我尝试运行我的场景时,if无法声明“未定义的步骤”。任何帮助都将不胜感激。 以下是我如何组织我的项目:

  • 我们在整个测试套件中有200多个特性和2000多个场景。它工作得很好,但许多步骤定义没有使用,我们想删除它们。 目前,我们很难手动尝试删除步骤定义代码,看看这样做是否破坏了什么。是否有一个工具或实用程序可以识别Java-Cucumber代码库中的哪些步骤定义未被使用,以便将其删除?

  • 本文向大家介绍SpringBoot中自定义参数绑定步骤详解,包括了SpringBoot中自定义参数绑定步骤详解的使用技巧和注意事项,需要的朋友参考一下 正常情况下,前端传递来的参数都能直接被SpringMVC接收,但是也会遇到一些特殊情况,比如Date对象,当我的前端传来的一个日期时,就需要服务端自定义参数绑定,将前端的日期进行转换。自定义参数绑定也很简单,分两个步骤: 1.自定义参数转换器 自定