我正在编写一个程序,以过滤掉所有不以1、3、7或9结尾的数字。
我曾尝试将其与Intigers进行比较,但这可能比我目前尝试的要复杂得多。
import time
import math
num = 1
primes = [2, 3, 5]
upto = int(input("how many primes do you want to find?"))
start_time = time.time()
while True:
num = num + 1
threetest = 0
digits = list(map(int, str(num)))
even = str(digits[0])
num = 1
if even(len(str(num))-1) == "1" or even(len(str(num))-1) == "3" or even(len(str(num))-1) == "7" or even(len(str(num))-1) == "9": #(line 13)
#...
回溯(最近一次通话最后一次):文件“ C:\ test.py”,第13行,在 如果even(len(str(num))-1)==“ 1”或even(len(str(num))-1)==“ 3”或even(len(str(num))-1)= =“ 7”甚至(len(str(num())-1)==“ 9”:
TypeError:“ str”对象不可调用
答案 0 :(得分:0)
您可以为每个数字尝试以下算法,而不必转换为字符串:
last_digit = abs(num) % 10
if last_digit in [1, 3, 7, 9]:
# do your stuff...