繁体   English   中英

Python 3 - 从平方值可被 8 整除的列表中打印数字

[英]Python 3 - Print numbers from a list whose square value is evenly divisible by 8

我目前正在研究一个问题,以确定列表中的平方值是否可以被 8 整除,如果是这种情况,然后将其从列表中打印出来。 所以例如我可以有这个列表:

 list1 = [2, 4, 6, 8, 10, 12]
  • 4 平方 = 16,可被 8 整除。

  • 8 平方 = 64,可以被 8 整除,以此类推。

因此,程序必须打印可被 8 整除的平方值。我意识到,我必须使用print()函数以及“for”和“in”,因为它很可能是一个循环类型的问题。

作为参考,这是原始问题:

打印一个列表中的每个数字,其平方可以被 8 整除。

例如,如果列表是

[2, 3, 4, 5, 6, 7, 8, 9]

,那么数字 4 是一个应该打印的数字,因为 4 的平方是 16 并且 16 可以被 8 整除。用两个测试列表测试您的代码模块。

观察,如果x的平方可以被 8 整除,那么x可以被4整除,所以:

list1 = [2, 4, 6, 8, 10, 12]
print [x for x in list1 if x & 3 == 0]
num_list = [2, 3, 4, 5, 6, 7, 8, 9]

首先,您遍历列表。 使用for循环。 把你的 if 条件放在那里if (x * x) % 8 == 0 then print the number

for num in num_list:
    if (num * num) % 8 == 0:
        print(num)

关键思想是找到正方形,因为你使用num * num

要检查数字x是否可以被 8 整除,请使用x % 8 == 0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM