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

制作collat​​z程序可以自动完成无聊的工作

公羊英达
2023-03-14
问题内容

我正在尝试使用在使用Python自动完成无聊的东西的第3章末尾找到的项目中的准则编写Collat​​z程序。我正在使用python
3.4.0。以下是项目概述:

编写一个名为的函数collatz(),该函数具有一个名为number的参数。如果数字是偶数,collatz()则应打印number // 2并返回该值。如果数字为奇数,collatz()则应打印并返回3 * number + 1。然后编写一个程序,让用户键入一个整数,并不断调用collatz()该数字,直到函数返回该值为止1

该程序的输出可能类似于以下内容:

Enter number: 3 10 5 16 8 4 2 1

我试图做一个在while循环内使用ifelif语句的函数。我希望打印该数字,然后返回循环的开头,并使用Collat​​z序列将其减少为一个,并在循环过程中打印结果数字的每个实例。使用当前代码,我只能打印该数字的第一个实例,并且此后该数字不会循环。以下是我的代码:

#collatz

print("enter a number:")
try:
    number = (int(input()))
except ValueError:
          print("Please enter a valid INTEGER.")


def collatz(number):
    while number != 1:

        if number % 2==0:
            number = (number//2)
            #print(number)
            return (print(int(number)))

        elif nnumber % 2==1:
            number = (3*number+1) 
            #print(number)
            return (print(int(number)))

        continue


collatz(number)

问题答案:
def collatz(number):

    if number % 2 == 0:
        print(number // 2)
        return number // 2

    elif number % 2 == 1:
        result = 3 * number + 1
        print(result)
        return result

n = input("Give me a number: ")
while n != 1:
    n = collatz(int(n))

输出:

Give me a number: 3
10
5
16
8
4
2
1

Give me a number: 11
34
17
52
26
13
40
20
10
5
16
8
4
2
1


 类似资料:
  • 问题内容: 我有一个测试用例,需要在基于ajax的文本字段中输入部分值,并验证列表是否具有预期的内容。如果是这样,请选择内容。任何想法如何使这项工作? 问题答案: 该 类型 命令可能不足以触发自动完成功能。否则,Dave Webb的建议就会出现。我唯一的补充是您可能需要 typeKeys 命令,这会导致触发略有不同的JavaScript事件,这更有可能触发自动完成小部件。

  • 我必须使自动完成与国家从SQL。 1.php$SQL_LIST_Countries=(SQL请求) var_dump 脚本javascript(在php文件中): var country_array=; var测试=json.stringify(country_array); console.log(测试); 3.js文件(!) jQuery(document).Ready(函数($){ cons

  • Android studio:自动完成不支持ctrl+空格键,支持ctrl+shift+空格键,但运行滞后(建议加载缓慢,带有加载图标)。 根据之前的类似问题,尝试了以下所有方法: 确保节能模式已关闭。 无效并重新启动 确保在代码完成设置中选中了相关复选框 此外,建议在Android Studio中使用flutter项目,但不使用Android项目。尝试了解决方案,但没有找到任何相关文档。 此外,

  • 我开发了一个GWT应用程序,它在Firefox 26的开发过程中可以正常工作。它也可以在最新的Chrome和Firefox直到版本40中正常工作。 由于Firefox 41,我面临一个问题,这会导致整个页面覆盖。(使用整个URL[包含get参数]调用应用程序会阻止成功加载页面并显示空白页面)。 应用程序看起来冻结了,并在body标签的末尾添加了以下行: z索引:2147483647位于页面顶部,拒

  • 问题内容: eclipse的自动完成功能现在无法使用,我搜索了几个小时,但找不到解决方案。我已经使用很长时间了,所以即使我已经安装了秋千,打开它之后的第一件事就是要安装SWT和Windows Builder。我的意思是,这可能是由于swt和swing引起的一些冲突(我读到一些有关冲突的信息,但如果可能的话,我不会)。 奇怪的是,当我按ctrl + space时它什么都没有显示,但是当我进入“编辑”

  • 我安装了android Studio..一切正常。现在突然之间,所有的自动完成功能都不起作用了…我可以在任何地方输入任何东西没有变量检查,没有函数或检查任何东西的帮助。我仍然可以编译这个项目,当它发生时,我会得到错误。 有谁能帮我解决这个问题吗。