首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我是python的初学者,为了解决这个问题,我尝试用单位数的input=777 output=7+7+7=21>>2+1=3#till;它进入了无限循环。

首先,我们来了解一下你遇到的问题的基础概念。

基础概念

  1. 输入输出:在编程中,input()函数用于从用户那里获取数据,而print()函数则用于向用户展示数据。
  2. 字符串与数字:在Python中,input()函数默认返回的是一个字符串。如果你需要进行数学运算,那么你需要将这个字符串转换为数字。
  3. 循环:循环是编程中的一个基本结构,它允许你重复执行某段代码,直到满足某个条件为止。

问题分析

你的代码试图实现一个功能:将用户输入的数字拆分为各个位数,然后求和,再对结果继续拆分求和,直到结果为个位数。但是,你的代码进入了无限循环。

原因

在你的代码中,你没有设置循环的终止条件,导致程序一直在执行,从而进入了无限循环。

解决方案

下面是一个简单的Python代码示例,它可以实现你想要的功能,并且避免了无限循环的问题:

代码语言:txt
复制
def sum_of_digits(n):
    return sum(map(int, str(n)))

num = int(input("请输入一个数字:"))
while num >= 10:
    num = sum_of_digits(num)
print(num)

这段代码首先定义了一个函数sum_of_digits,用于计算一个数字各位数之和。然后,它获取用户的输入,并将其转换为整数。接着,它使用一个while循环来不断地计算各位数之和,直到结果为个位数为止。

应用场景

这种类型的问题在处理数字相关的算法时经常会遇到,比如数字根(digital root)的计算、判断一个数字是否是回文数等。

优势

通过这种方法,我们可以方便地处理大数字,并且代码结构清晰,易于理解和维护。

参考链接

如果你对Python中的字符串、数字和循环有更深入的了解,可以参考以下链接:

希望这个解答能帮助你理解并解决你的问题!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

详解Python 2.x 与 Python 3.x 的区别

如果你是刚接触 Python 的初学者,那你可能是直接学习 Python 3.x 版本。对于 Python 2.x 的版本是不会有所接触。官方也宣布在 2020 停止对 Python 2.x 的维护。...为了照顾现有程式,Python 2.6 作为一个过度版本,基本使用了 Python 2.x 得语法和库,同时考虑了向 Pythn 3.0 得迁移,允许使用部分 Python 3.0 的语法与函数。...5 xrange 在 Python 2 中 xrange() 创建迭代对象的用法是非常流行的。比如: for 循环或者是列表/集合/字典推导式。 这个表现十分像生成器(比如。"惰性求值")。...但是这个 xrange-iterable 是无穷的,意味着你可以无限遍历。 由于它的惰性求值,如果你不得仅仅不遍历它一次,xrange() 函数 比 range() 更快(比如 for 循环)。...作用:这个特性可以解决一些巨大甚至无限的集合列表,延迟求值的一个好处是能够建立可计算的无限列表,而没有妨碍计算的无限循环或大小问题。

1.2K20

5个时间序列预测的深度学习模型对比总结:从模拟统计模型到可以预训练的无监督模型(附代码)

比赛的目的是预测机械肺内压力的时间顺序。每个训练实例都是自己的时间序列,因此任务是一个多个时间序列的问题。获胜团队提交了多层深度架构,其中包括LSTM网络和Transformer 块。...Spacetimeformer 在单变量时间序列中时间依赖性是最重要的。但是在多个时间序列场景中,事情就没那么简单了。例如假设我们有一个天气预报任务,想要预测五个城市的温度。...Spacetimeformer解决了这个问题,它将输入扁平化为一个大向量,称为时空序列。如果输入包含N个变量,组织成T个时间步,则生成的时空序列将具有(NxT)标记。...这就引出了我们要介绍的最后一个模型TSFormer,该模型考虑了两个视角,我们讲从输入到输出将其为四个部分,并且提供Python的实现代码(官方也提供了),这个模型是刚刚发布不久的,所以我们才在这里着重介绍它..._forward_backend(input_data) 看完这个论文,我发现这基本上可以说是复制了MAE,或者说是时间序列的MAE,在预测阶段也是与MAE类似,使用编码器的输出作为特征,为下游任务提供特征数据作为输入

1.2K30
  • 5个时间序列预测的深度学习模型对比总结:从模拟统计模型到可以预训练的无监督模型

    比赛的目的是预测机械肺内压力的时间顺序。每个训练实例都是自己的时间序列,因此任务是一个多个时间序列的问题。获胜团队提交了多层深度架构,其中包括LSTM网络和Transformer 块。...Spacetimeformer 在单变量时间序列中时间依赖性是最重要的。但是在多个时间序列场景中,事情就没那么简单了。例如假设我们有一个天气预报任务,想要预测五个城市的温度。...Spacetimeformer解决了这个问题,它将输入扁平化为一个大向量,称为时空序列。如果输入包含N个变量,组织成T个时间步,则生成的时空序列将具有(NxT)标记。...这就引出了我们要介绍的最后一个模型TSFormer,该模型考虑了两个视角,我们讲从输入到输出将其为四个部分,并且提供Python的实现代码(官方也提供了),这个模型是刚刚发布不久的,所以我们才在这里着重介绍它..._forward_backend(input_data) 看完这个论文,我发现这基本上可以说是复制了MAE,或者说是时间序列的MAE,在预测阶段也是与MAE类似,使用编码器的输出作为特征,为下游任务提供特征数据作为输入

    4.3K10

    用于时间序列预测的最佳深度学习模型总结

    比赛的目的是预测机械肺内压力的时间顺序。每个训练实例都是自己的时间序列,因此任务是一个多个时间序列的问题。获胜团队提交了多层深度架构,其中包括LSTM网络和Transformer 块。...Spacetimeformer 在单变量时间序列中时间依赖性是最重要的。但是在多个时间序列场景中,事情就没那么简单了。例如假设我们有一个天气预报任务,想要预测五个城市的温度。...Spacetimeformer解决了这个问题,它将输入扁平化为一个大向量,称为时空序列。如果输入包含N个变量,组织成T个时间步,则生成的时空序列将具有(NxT)标记。...这就引出了我们要介绍的最后一个模型TSFormer,该模型考虑了两个视角,我们讲从输入到输出将其为四个部分,并且提供Python的实现代码(官方也提供了),这个模型是刚刚发布不久的,所以我们才在这里着重介绍它..._forward_backend(input_data) 看完这个论文,我发现这基本上可以说是复制了MAE,或者说是时间序列的MAE,在预测阶段也是与MAE类似,使用编码器的输出作为特征,为下游任务提供特征数据作为输入

    1.2K21

    笨办法学 Python3 第五版(预览)(三)

    一旦我有了这个,就将其转换为正确的 Python 代码: 1 # ask the user for the F 2 F = input("C?...当我的脚本最终工作时,我会删除它并使用我所知道的重新编写它。也许这一次我直接写 Python,或者我再次重复这个过程。这样做会让我确认自己实际上是可以做到的。这不仅仅是愚蠢的运气。...第二个问题是,他们的解决方案是我——一个有几十年经验的 bash 和 Linux 专业人士——每次都要查找的东西。这是 bash 中最糟糕文档化、最不可用的功能之一。...当涉及“X/Y 问题”时,这实际上只是一个借口,用来责骂初学者是初学者。每个声称讨厌这个问题的人要么根本不写代码,要么绝对在学习编程时确实做过这样的事情。这就是学习编程的方式。...如果只是展示了他们的代码,那么就可以推荐更好的方法来解决问题。问题解决了。

    16010

    Python的基础语法(二)

    前言 接着上一篇博客的内容,我将继续介绍Python相关的语法。部分篇章可能不只是简单的语法,但是对初学者很有帮助,也建议读懂。 1. 表达式 由数字、符号、括号、变量等组成的组合。...简单的理解:首先,在Python中,一切皆对象。Python使用引用计数ob_refcnt记录所有对象的引用数。当对象引用数ob_refcnt变为0,它就被认为是生命结束了,内存也会被回收。...if 3: # 这里的3并不是一个条件语句,它经过bool()函数转换成布尔值,但是这个操作是我们看不到的 print('True') else: print('False') 下面...他的结构是这样的: for element in sequence: # 当可迭代对象中有元素可以迭代,进入循环体,执行block block 上面所提到的可迭代对象,简单理解可以说是一组元素...上面的例子中,我并不是从五位数到四位数到三位数这样一路判断下来的,一方面是为了演示嵌套结构,另一方面,我这里用到了二分搜索算法,这种算法从中间开始查找,如果是判断一个一百位数,或者一千位数,这样的算法明显会比顺序查找高效得多

    43720

    【题解】Game With Telephone Numbers

    这道题在做的时候卡了我很久,一直没有思路,想了想其实就是这样的一个问题: 1、手机号首位为8,数字长度为11位。总的字符串长度位数位奇数。...,我的没有那么直观,但是其实思路是一样的。...is_ok) cout<<"NO"<<endl; } 网站上的方法是真的进行了分别删除字符串的前(n-11)/2个为‘8’和不为‘8’的字符的操作 而我这个是查找第(n-11)/2+1个‘8’,那么假设它前面的所有...’8’都已经被删掉了,然后对于这个’8’,它前面还有jss个非8的字符。...比完赛之后思考了一下,的确我这个方法感觉就是绕了一个大弯,其实这道题只要抓住本质是,为了确保在当前输入情况下,V一定能赢得比赛,那么V就要采取不删除8的策略,把8移动到头部。

    30220

    手把手教你用OpenCV和Python实现图像和视频神经风格迁移(代码)

    首先我们会简单塔伦下什么是神经风格迁移,以及它是如何运作的。之后我们会用OpenCV和Python动手操作。 什么是神经风格迁移?...问题就是,我们应该如何定义一个神经网络,让它执行神经风格迁移呢? 神经风格迁移如何工作? 在Gatys等人提出的首篇论文中,神经风格迁移算法不需要新的架构。...我在其中提供了很多测试用的图像和模型。同时还有三种Python脚本。 开始神经风格迁移 接下来让我们用OpenCV和Python进行神经风格迁移的实践。...导入的有: imutils:这个包可以通过pip install --upgrade imutils安装。最近我发布了imutils==0.5.1,所以不要忘记更新!...下面是我自己做的demo视频: 结语 今天的教程是教大家如何用OpenCV和Python在图片和视频上运用神经风格迁移。

    2.6K21

    Linux系统防CC攻击自动拉黑IP增强版Shell脚本

    虽然,可以通过修改本地 hosts 文件来解决这个问题,但是还是想暂时取消 CDN 加速和防护来测试下服务器的性能优化及安全防护。.../sendmail }   #间隔10s无限循环检查函数 while true do         check         #每隔10s检查一次,时间可根据需要自定义         sleep.../deny_blackip.sh 50 & [1] 23630 [root@Mars_Server iptables]# nohup: ignoring input and appending output...pid 线程号,然后执行 kill -9 pid 号即可结束; ③、关于脚本的单 IP 并发限制,我实际测试同时打开博客多个页面并持续刷新,顶多也就产生十来个并发,所以单 IP 超过 50 个并发就已经有很大的问题了...当然,文章的阈值设为 50 也只是建议值,你可以根据需求自行调整(如果网站静态文件未托管到 CDN,那么一个页面可能存在 10 多个并发); ④、写这个脚本,主要是为了弥补用 crontab 执行时间间隔最低只能是

    2.9K50

    一位前端小哥的经验分享

    我选择了这样一个问题:对于任意三个输入X、Y和Z,输出为X和Y的“与”运算结果。...△ 梯度下降示意图 开始AI之路 在我实现了我的第一个AI程序后,我充满信心,想知道作为一个开发人员,还可以用机器学习来做什么。 1. 我解决了若干个关于监督学习的问题,如回归和分类。 2....要用聊天机器人解决图形UI中需要两步以上操作的问题。 经过分析,我选择构建一个通过自然语言命令找到正确日期的聊天机器人。比如说你可以问它“6天以后是几号?”、“下个9月过完之后再过5周”之类的。...我收到了一些关于咨询项目的Offer,更让我开心是,开始有一些年轻的开发人员和AI初学者来问我是如何入门AI的。...我最开始时用的是Javascript,后来突然换成Python,并学会如何用Python编程。 当我的模型在i7电脑无法训练,或是经过数小时训练,只返回一个无用结果时,我会感到烦躁。

    71570

    脑洞:如何用一个整数来表示一个列表?

    (Python猫注:这有一篇文章 ,深度剖析了Python整型不会溢出的实现原理,可作关联阅读) 因此,我们可以设想出一种 Python 的方言,它只有整型,需要用 int 表示其它所有的类型(字典、...这里有几点注意事项: 我们会使用带有 yield 的函数,因为它极大地简化了操作。[注5] 你会看到大量的 while 循环。...这是因为列表生成式、range 和大多数你打算在 for 循环中使用的东西,都被禁止用在只有 int 类型的方言中。所有这些都被 while 循环替代了。...我认为在 2020 年用 Python 指代 Python3 是没问题的,但我也认为这个细节值得加一条脚注。 对于用哥德尔数表示列表,这很容易被反驳说是一种糟糕的表示形式。...另请参见《 The Genuine Sieve of Erathosthenes》论文,它澄清了这一算法是如何被定义的。 Python猫注: 以上是全部译文,但我最后还想补充一个有趣的内容。

    54320

    Python 实现数字三角形排列详解:Java 视角下的实现与分析

    数字按照三角形排列是一种常见的算法问题,涉及对数据的顺序和结构进行控制。Python 提供了简洁的语法和强大的数据处理能力,能够轻松实现这种排列。...嵌套循环:与 Python 类似,外层循环控制行数,内层循环控制每行的元素个数。测试用例为了验证数字三角形的排列实现,需要编写测试用例来检查输出结果。...以下是一个简单的测试用例:Python 测试用例:def test_print_triangle(): expected_output = "1 \n2 3 \n4 5 6 \n7 8 9 10...我们通过嵌套循环和条件控制,成功实现了数字的三角形排列,并通过案例展示了如何拓展到其他排列形式,如数字金字塔。本文的测试用例进一步验证了算法的正确性。...总结数字三角形排列是一种简单而有效的算法练习,适用于初学者掌握循环和条件判断。通过 Python 和 Java 的实现,我们看到了两种语言在处理该问题时的异同。

    13121

    计算机小白的成长历程——分支与循环(8)

    0; } 这里可能就会有朋友奇怪了,为什么第一个循环是到80不是到90呢,这里涉及到for语句的逻辑顺序了,for语句在下一次判定前进行的递进语句,也就是说,如果判断语句是90,那在出循环的时候,a的值就变成了...99,直接把90~99之间的9给略过了,所以,这里需要到89就跳出循环,进入下一个循环,因为跳出循环后的值是我们需要用的,所以第二个循环的对象语句可以省略。...\n", sum); return 0; } 有朋友就会说,你这个也太麻烦了,还需要两个循环,看我一次循环就搞定了,我们观察式子可以得到这些分数的符号是一正一负的,如果我们能在每一次循环都能改变它的符号的话是不是就解决这个问题呢...前面不管是第一次编写也好,还是第二次改写也好,我都是用的数组的思维在进行编写,将九九乘法表的两个乘数作为变量,通过控制其中一个变量来进行打印,这一次的编写思路则是跳出了乘数的约束,通过控制行和列来达到打印的目的...那今天的练习咱们到这里就结束了,不知道大家在做阅读的过程中,对解答这些题有没有新的编写思路呢?我还是很期待和大家在评论区互动起来的。

    17630

    软件测试习题(附答案)

    如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的           (   A   )    (A)判定覆盖                                 (B)...EndIf 21.Else Output(“NOT a Triangle”) 22.EndIf 23.End triangle2   圈复杂度是 5。 基本路径  (略)。...(1) 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。 (2) 尽量用公共过程或子程序去代替重复的代码段。 (3) 测试是为了验证该软件已正确地实现了用户的要求。...结构性测试局限于已经完成的代码行为当中,离代码太近。因此可以结构性测试指标去解决冗余和漏洞问题。...缺点:测试用例之间可能存在严重的冗余,还会有位测试的软件漏洞。结构性测试局限于已经完成的代码行为当中,离代码太近。因此可以结构性测试指标去解决冗余和漏洞问题。

    1.7K21

    树莓派综合项目3:AI视觉机械臂小车(二)轻触按键

    结合简单的命名实践和描述性功能,GPIO Zero更易于初学者理解。即使RPi.GPIO库的经验丰富的用户可能更喜欢它 - 并且为了理解原因,让我们来看看RPi.GPIO与GPIO Zero的比较。...RPi.GPIO的优秀设计证明了这么多初学者仍然使用它。 GPIO Zero有什么好处? 在学习Python代码时,您会了解到它应该易于阅读并且尽可能短。GPIO Zero旨在涵盖这两点。...虽然表面看起来更直接,但新库有什么问题吗?与任何新的编码库一样,这是一个意见问题。一方面,删除设置代码非常适合初学者和经验丰富的编码人员。编写代码更简单,更快捷。...我们在Raspberry Pi按钮教程中使用了这个确切的功能,这是熟悉库中差异的好方法。 RPi.GPIO库的用户会注意到Pi的内部上拉/下拉电阻未在代码中设置。这提出了一个有趣的问题。...初学者了解上拉/下拉电阻是否必不可少?Ben Nuttall再次回答了这个问题: 总的来说,GPIO Zero的简单方法对于初学者和退伍军人来说都是一件好事。此外,RPi.GPIO不会去任何地方。

    1.3K40

    不知道怎么配置python?快来,一文解决所有问题!

    这是一款收费的编辑器,但是她可以无限期的免费使用,每次她弹出收费窗口的时候点一下no就ok。我个人来看这个软件的话 最大的特点,简洁,非常简洁,不需要创建什么新的项目,把目录直接往里面拖就可以了。...,所以如果你是一个初学python的人,我不建议下载这个编辑器---不然会很难受。...对了,在这里我要说一下我下载的版本是19.3.2版本的,如果你在看这个推文的时候,发现不是这个版本的,可能后面安装的时候步骤不一样。 ? 进入第一个页面以后选择自己安装的地方,然后选择安装磁盘。...进入了下一个界面之后点击install就可以了,不用管这个页面是说的啥,然后就是安装了,最后一个界面是让你选择是否马上重启电脑来适应这个程序,点击第二个,稍后自己重启电脑。...在下面这个位置的时候,我推荐就点第二个,不要点第一个,因为如果你点第一个的话,以后你想用sublime text3进行编辑代码的时候可能会出现一些问题。 ? 后面就点install就可以了。

    49920

    数据科学家必读:从零开始用Python构建循环神经网络

    然后我们将设置问题陈述,最后我们将从零开始用Python构建一个循环神经网络模型解决这些问题陈述。 我们总是习惯用高级Python库编写循环神经网络。那为什么还要从零开始编码呢?...我坚信从头学习是学习和真正理解一个概念的最佳方式。这就是我将在本教程中展示的内容。 本文假设读者已对循环神经网络有基本的了解。...我们希望我们的循环神经网络可以写出莎士比亚的十四行诗! 现在,循环神经网络在涉及短或小的环境时非常棒。但是为了能够构建一个故事并记住它,我们的循环神经网络模型应该能理解序列背后的背景,就像人脑一样。...02 使用循环神经网络进行序列预测 在本文中,我们将使用循环神经网络处理序列预测问题。对此最简单的例子之一是正弦波预测。序列包含可见趋势,使用启发式方式很容易解决。下面就是正弦波的样子: ?...我们首先从零开始设计一个循环神经网络解决这个问题。我们的循环神经网络模型也应该得到很好地推广,以便我们可以将其应用于其他序列问题。

    58040

    快慢指针

    二、快慢指针的应用 1、判断单链表是否为循环链表   首先设置快慢指针的起点为链表的头结点,快指针每次向前移动2步,慢指针每次向前移动1步。...如果该链表为循环链表,则快指针会在不久之后追上慢指针;如果是单链表,则快指针会先到达链表的末尾。利用快慢指针解决这个问题还有一个好处是不必预先知道链表的长度。...逻辑关系简单明了:快指针追上慢指针=>循环链表,快指针到达链尾=>单链表。...2、有序链表中寻找中位数   快指针的移动速度是慢指针的2倍,所以快指针到达链表尾巴时,慢指针到达链表中点。   有两种情况需要分开考虑,即链表为偶数长度时,和链表为计数长度时。...(head结点依然存储数据)   链表长度为偶数时,快指针只能到达链表的倒数第二个结点;则慢指针的位置为上中位数;因此返回(上中位数+下中位数)/2。

    56910

    Python编程实战营:四款实用小项目助你快速入门,从零开始打造你的个人项目集!

    项目二:猜数字游戏 接下来,让我们进入一个更有趣的世界——游戏开发。我们将编写一个简单的猜数字游戏,这个游戏将帮助你掌握条件判断、循环控制以及基本的用户交互技巧。...它们将帮助你从多个角度理解编程思想,提高解决问题的能力,并为未来的编程之路打下坚实的基础。 无论你是编程小白还是希望巩固基础的Python爱好者,这篇文章都将是你不可多得的实战宝典。...本文介绍了四款非常适合初学者入门的Python小项目,在学习Python的过程中多多做一些项目练手会大大提高自己的编程水平,如果喜欢这篇文章的话,点点关注,后面会分享更多关于Python的文章资源...True: # 开始一个无限循环,程序将持续运行直到用户选择退出 command = input("请输入命令 (输入、保存、退出): ").lower() # 提示用户输入命令...它使用了一个无限循环来不断接收用户的命令,并根据命令执行相应的操作。当用户选择退出时,程序将结束运行。

    13700

    如何使用DAVIS 2019数据集编写一个图像数据处理器

    DAVIS数据集里的蒙太奇图像(来自于:DAVIS挑战赛) 当我们进入一个新的领域,最难的事情往往是入门和上手操作。...注意:有一个很重要的事情我忽略了,就是把图片以及相应的掩码对应起来,这个需要特别注意一下。...一个例子:斐波那契数列 让我们回来看一个简单的例子:生成一个无限长的斐波那契数列。斐波那契数的生成规则是新的数是它前面两个数的和。..., next_output i += 1 DAVIS数据生成器示例 使用生成器 在有了所需的数据生成器后,可以像上面的方法那样在自己的循环中调用(例如打印出输入图片和输出掩码进行对比...集成到类里 为了流程化处理,最好的办法是把所有的数据预处理都放在一个类里(这个类在所有的数据集中都可以用) import os from random import shuffle class

    1.6K20
    领券