382678922 发表于 2023-4-17 23:15:57

请大神赐教。。。心态有点崩了

请大神赐教,这段我是一点都看不懂了。。。出自 课后作业15.另外请教大神新人代码训练,逻辑训练办法。。。学了两个星期了,感觉自己一点进步都没有,太难过了。。。
n = int(input("请输入一个正整数:"))
   
while n > 0:
    if n % 2 == 0:
      print(n, "/2 = ", n // 2, sep='')
      n = n // 2
    else:
      print(n, "*3+1 = ", n * 3 + 1, sep='')
      n = n * 3 + 1
    if n == 1:
      break

isdkz 发表于 2023-4-17 23:20:31

这段代码是一个实现了“考拉兹猜想”(Collatz Conjecture)的简单程序。考拉兹猜想是一个未解的数学问题,简单地说,对于任意给定的正整数,通过以下规则进行变换,最终都会得到1:


[*]如果数字是偶数,那么将其除以2。
[*]如果数字是奇数,那么将其乘以3,然后加1。


这段代码的工作原理如下:


[*]首先,程序提示用户输入一个正整数。
[*]然后,程序进入一个while循环,只要n大于0,循环就会继续执行。
[*]在循环内,程序首先检查n是否为偶数(通过n % 2 == 0判断)。如果是偶数,则打印n / 2 =的结果,并将n更新为n // 2。
[*]如果n不是偶数(即为奇数),程序将打印n * 3 + 1 =的结果,并将n更新为n * 3 + 1。
[*]如果在循环过程中n变为1,那么break语句将终止循环。


关于新人代码训练和逻辑训练的建议:


[*]多练习:写代码和解决实际问题是最好的学习方法。你可以尝试从简单的问题开始,逐步提高难度。例如,从基本的输入/输出问题开始,然后处理字符串和列表,接着学习如何编写循环和条件语句,最后探讨更复杂的数据结构和算法。

[*]学习资源:查找一些优秀的编程教程、书籍或在线课程。有许多专门针对初学者的资源可以帮助你了解基本概念并提供实践练习。

[*]代码审查:向朋友或同事请教,让他们检查你的代码,提供反馈和建议。这可以帮助你发现潜在的问题并提高代码质量。

[*]参与社区:加入编程社区,如Stack Overflow、GitHub、开源项目等,与其他开发者互动,提问和回答问题。这样可以帮助你了解别人是如何解决问题的,学习新技能,增强自信心。

[*]保持耐心:学习编程需要时间和努力,不要担心自己的进步速度。每个人的学习速度不同,关键是要持之以恒。坚持练习,你会发现自己的进步的。

歌者文明清理员 发表于 2023-4-18 10:24:55

这段代码实现的是一个数学猜想游戏,又叫奇偶归一算法、3N + 1 猜想等名字。具体来说,输入一个正整数 n,如果 n 是偶数,则将其除以 2,否则将其乘以 3 再加上 1。然后针对得到的结果继续进行同样的操作,直到最后得到 1。

例如,输入 6,则按照如下步骤进行计算:


[*]6 / 2 = 3
[*]3 * 3 + 1 = 10
[*]10 / 2 = 5
[*]5 * 3 + 1 = 16
[*]16 / 2 = 8
[*]8 / 2 = 4
[*]4 / 2 = 2
[*]2 / 2 = 1


最终得到 1。

至于你提到的代码逻辑训练办法和建议,我可以给你几条参考信息:


[*]多写多练:只有通过不断地练习才能掌握编程技能。可以多抽时间做题和练手,也可以积极参与开源社区,了解其他程序员是如何写出高质量的代码的。
[*]2. 扎实基础:良好的基础知识是写好代码的基础,需要花费大量的时间和精力来学习数据结构、算法、编程语言等。
[*]3. 阅读优秀的代码:通过阅读优秀的代码,可以学会他人的经验和技巧,并在其中汲取灵感。
[*]4. 不断反思和改进:在写代码的过程中,需要不断地进行反思和改进,发现代码可能存在的问题并做出相应的调整。同时还要注重代码的可读性和维护性,懂得编写易于理解、易于扩展、易于维护的代码。


希望对你有所帮助!
页: [1]
查看完整版本: 请大神赐教。。。心态有点崩了