Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 素数代码不工作_Python_Primes - Fatal编程技术网

Python 素数代码不工作

Python 素数代码不工作,python,primes,Python,Primes,我正在努力学习一些代码,并找到了python。我只是个初学者,但对编程语言很感兴趣 我在写第一个程序时遇到了一些麻烦。我正在尝试制作一个程序,要求用户输入一个数字,然后检查这个数字是否是素数,如果是,它将把它添加到素数列表中 这是我的密码 prime = [2,3,5,7] get = int(input("what number do you want to check ? ")) a = 0 while a < len(prime): print("Test " +

我正在努力学习一些代码,并找到了python。我只是个初学者,但对编程语言很感兴趣

我在写第一个程序时遇到了一些麻烦。我正在尝试制作一个程序,要求用户输入一个数字,然后检查这个数字是否是素数,如果是,它将把它添加到素数列表中

这是我的密码

prime = [2,3,5,7]
get = int(input("what number do you want to check ? "))

a = 0
while a < len(prime):
        print("Test " + str(a+1))
        test = (get / prime[a])
        if isinstance(test, int):
            print(str(get) + " is not a prime number" )
            break
        else:
            a += 1

else:
    prime.extend(get)
    print(str(get) + " is a prime number, prime number added to list"
prime=[2,3,5,7]
get=int(输入(“您要检查的号码是多少?”)
a=0
当a
extend
用于将列表添加到列表中。如果只想添加单个值,请使用
append

prime.append(get)
extend
用于将列表添加到列表中。如果只想添加单个值,请使用
append

prime.append(get)

根据设置方法,26是素数。因为它只能被13整除,而13还没有出现在表中,所以它将在一段时间内消失。您需要找到小于填充表所需数量的所有素数,或者设置程序查找前n个素数

我注意到if上的else在错误的缩进中

您应该在if和not除法上使用模运算符,因为您将得到整数除法而不是浮点

我在下面的代码中添加了修复程序

请注意,问题在于,当您应该使用append时,您正在使用extend

:在末尾追加对象

x = [1, 2, 3]
x.append([4, 5])
print (x)
给你:
[1,2,3,4,5]


:通过追加iterable中的元素来扩展列表

x = [1, 2, 3]
x.extend([4, 5])
print (x)
给你:
[1,2,3,4,5]

以下是使用模而不是除法设置测试的代码。这显示了正确的情况。请注意,在进行除法并获得浮点结果时,isinstance()可能不会给出正确的答案。有许多来源建议不要将其用作测试

如果您使用的是Python3.0,那么您将得到一个浮点响应,而不是int响应

prime=[2,3,5,7]
get=int(输入(“您要检查的号码是多少?”)
a=0
当a
根据设置方式,26是一个素数。因为它只能被13整除,而13还不在表中,所以它将在一段时间内消失。您需要找到所有小于填充表所需数量的素数,或者设置程序,找到前n个素数

我注意到if上的else在错误的缩进中

您应该在if和not除法上使用模运算符,因为您将得到整数除法而不是浮点

我在下面的代码中添加了修复程序

请注意,问题在于,当您应该使用append时,您正在使用extend

:在末尾追加对象

x = [1, 2, 3]
x.append([4, 5])
print (x)
给你:
[1,2,3,4,5]


:通过追加iterable中的元素来扩展列表

x = [1, 2, 3]
x.extend([4, 5])
print (x)
给你:
[1,2,3,4,5]

以下是使用模而不是除法设置测试的代码。这显示了正确的情况。请注意,在进行除法并获得浮点结果时,isinstance()可能不会给出正确的答案。有许多来源建议不要将其用作测试

如果您使用的是Python3.0,那么您将得到一个浮点响应,而不是int响应

prime=[2,3,5,7]
get=int(输入(“您要检查的号码是多少?”)
a=0
当a
它以什么方式不起作用?它不能真的将数字添加到列表中,我用pycharm得到了这个回溯:你想检查什么数字?180回溯(最近一次调用):文件“C:/…/Primechecker.py”,第16行,prime.extend(get)TypeError:“int”对象不可测试测试1测试2测试3测试4 180是一个素数,素数添加到列表进程中,退出代码1已完成。您是否可以发布回溯?请注意,else的if缩进错误,您可能使用整数除法而不是浮点除法。我建议在代码中使用模,如我所示在我的回答中。根据你设置的方式,你会得到26是一个素数。因为它只能被13整除,而13还没有出现在表中,它将在一段时间内消失。你需要找到你要求的第一个数字以下的所有素数,或者找到前n个素数。它以什么方式不起作用?它不能真正将数字添加到列表中,我得到这个使用pycharm进行回溯:您想检查什么号码?180回溯(最近一次呼叫最后一次):文件“C:/…/Primechecker.py”,第16行,在prime.extend(get)中TypeError:“int”对象不可编辑测试1测试2测试3测试4 180是质数,质数添加到列表进程中,退出代码1完成,您是否可以发布回溯?请注意,else的if缩进错误,您可能正在使用中