- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在循环和声明变量方面遇到了问题。目前我正在制作一个关于 Collatz 猜想的程序,该程序应该检查从一定数量的 Collatz 序列中达到一个的最大步骤是什么。这是我的代码:
start_num = int(input("insert a starting Number > "))
how_many = int(input("how many times you want to check? >"))
def even_or_odd(number):
if number % 2 == 0:
return 'isEven'
else:
return 'notEven'
def collatz(n):
z = n
counter = 0
while True:
if n != 1:
if even_or_odd(n) == 'isEven':
n = n/2
counter += 1
continue
if even_or_odd(n) == 'notEven':
n = (n*3)+1
counter += 1
continue
else:
print('number ' + str(z) + ' reached 1 with : ' + str(counter) + ' steps')
return counter
break
def check_biggest_steps(steps_before, steps_after):
if steps_before > steps_after:
return steps_before
if steps_after > steps_before:
return steps_after
if steps_after == steps_before:
return steps_after
def compute_collatz(n_times, collatz_number):
for _ in range(n_times):
before = collatz(collatz_number)
collatz_number += 1
after = collatz(collatz_number)
collatz_number += 1
biggest_steps = check_biggest_steps(before, after)
print('Biggest Steps is :' + str(biggest_steps))
compute_collatz(how_many, start_num)
此 biggest_steps
变量始终返回最后 2 步。我知道导致此问题的原因是 biggest_step
变量位于循环内,但我无法让它在任何地方工作,我不知道该怎么做。谢谢
最佳答案
在您自己尝试之前不要阅读我的代码。
尝试制作一个列表,将每个更改附加到列表中,然后获取最后的移动次数,只需获取列表的长度即可。
.
def collatz(x):
while x != 1:
if x % 2 > 0:
x =((3 * x) + 1)
list_.append(x)
else:
x = (x / 2)
list_.append(x)
return list_
print('Please enter a number: ', end='')
while True:
try:
x = int(input())
list_ = [x]
break
except ValueError:
print('Invaid selection, try again: ', end='')
l = collatz(x)
print('\nList:', l, sep=' ')
print('Number of steps required:', len(l) - 1)
关于python - 循环和 Collatz 猜想,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44431763/
我有两个表:tab1 和 tab2。每个表只有一个 VARCHAR(MAX) 列。 我只需要获取那些值对,它们是相等的,但只有大小写不同。 示例输入: tab1.t1 tab2.t2 ----
我正在尝试通过执行 [[self navigationController] popViewControllerAnimated:YES] 来“自毁” View Controller 。 在我这样做之
我在开发存储过程时收到此错误 Implicit conversion of varchar value to varchar cannot be performed because the colla
我正在浏览ICU源代码(http://icu-project.org/),但是找不到用于排序的开箱即用语言。有人可以帮我吗? 最佳答案 编辑:请注意,此列表是几年前写的。单击链接以获取更新的列表。 C
django==1.11.9 mysql版本5.6.38 +----------------------+-----------------+ | Variable_name | Val
我们使用 couchbase 作为我们的 nosql 存储并喜欢它的功能。 然而,我们在创建关联时遇到了一个问题 通过 View 整理。这可以被认为类似于连接操作。 虽然我们的数据集是 secret
cmp operator适用于代码编号,或者至少我认为它是这样做的,因为文档没有明确说明并且没有提及任何本地化内容。 我可以让它按其他排序规则排序吗?我知道我告诉 sort如何比较,但我认为它必须已经
我需要捕获 Windows 计算机已设置的打印机驱动程序设置,以确定它们是否已为特定打印机打开逐份打印功能。 我知道如何使用传入 DC_COLLATE 的 DeviceCapability 调用来获取
我刚刚开始学习Phinx,我需要将列的排序规则更改为latin1_swedish_ci。我没有找到有关如何执行此操作的文档。我假设它类似于: ->addColumn('text_two', 'stri
我在 SQL Server 2008 R2 dev 上,服务器默认排序规则是 Cyrillic_General_CI_AS 在 SSMS 中执行 选择 'éÉâÂàÀëËçæà' COLLATE La
我收到以下错误消息 [Err] 1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,C
我刚刚导出了一个 MySQL 数据库,以便在另一台服务器上复制它。查看 sql 脚本,我看到以下内容: CREATE TABLE `X` ( `id` int(11) unsigned NOT N
MYSQL 数据库 数据库 1 - 表 - 表 1 id - 整数 标题 - utf8_general_ci 值(value)观 - 1、Bienvenue Chez les Châtis 2、基础知
当我使用 phpMyAdmin 查看我的在线表格时,它使用整理方法“latin_swedish_ce”。为什么?默认值是多少?以及,使用什么整理方法? 最佳答案 MySQL 中的一个字符串有一个cha
我有一个名为 username 的列,我希望用户能够插入日语、罗马语、阿拉伯语、韩语以及所有可能的文本,包括特殊字符 [ https://en.wiktionary.org/wiki/Index:Al
我想比较 SQLite 数据库中的两个字符串而不关心重音和大小写。我的意思是“Événement”应该等于“evenèment”。 在 Debian Wheezy 上,SQLite 包不提供 ICU。
我在本地机器上使用提供的 COLLATE 值进行排序时遇到问题(在服务器上一切正常)。似乎没有任何效果。 使用 en_US COLLATE 的示例 SQL 代码: SELECT username FR
在 Microsoft SQL Server 中,如果我想在区分大小写的数据库中不区分大小写搜索,可以运行以下 SQL: SELECT * FROM MyTable WHERE MyField = '
我正在使用 mongoose paginate v2 从版本 3.2.7 的 mongodb 集合中检索文档。 var options = { page, limit }; Schema.pagina
有没有办法在 SQLITE 中使用“IN”子句,该子句将敏感地将列与 in 子句中的所有元素进行匹配。我有一个疑问 select * from Table where table.column in
我是一名优秀的程序员,十分优秀!