Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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-让用户输入10个数字,然后只显示素数_Python_Python 3.x - Fatal编程技术网

Python-让用户输入10个数字,然后只显示素数

Python-让用户输入10个数字,然后只显示素数,python,python-3.x,Python,Python 3.x,如果可能的话,我需要你的帮助。我对Python非常陌生,但我对C#,java有很好的理解,现在已经开始学习Python作为我学习计划的一部分。我有一项任务要做,我无法得到任何帮助,因为我认识的人中没有人使用python 我的任务是: “从给定的10个数字列表中查找素数。用户应输入10个数字” 谁能帮我一下吗?提前感谢您需要一个函数isPrime(n),它可以检查n是否是这样的素数: import math def is_prime(n): if n % 2 == 0 and n >

如果可能的话,我需要你的帮助。我对Python非常陌生,但我对C#,java有很好的理解,现在已经开始学习Python作为我学习计划的一部分。我有一项任务要做,我无法得到任何帮助,因为我认识的人中没有人使用python

我的任务是: “从给定的10个数字列表中查找素数。用户应输入10个数字”
谁能帮我一下吗?提前感谢

您需要一个函数isPrime(n),它可以检查n是否是这样的素数:
import math

def is_prime(n):
    if n % 2 == 0 and n > 2:
        return False
    return all(n % i for i in range(3, int(math.sqrt(n)) + 1, 2))

for i in range(10):
    number = input("Choose number #%s : " % i)
    if is_prime(int(number)):
        print("%s is prime" % number)
    else:
        print("%s is not prime" % number)
import math.sqrt
def iPrime(n):
对于范围(2,int(sqrt(n))+1)内的i:
如果n%i==0:
返回错误
返回真值

然后,您只需获得输入数字(int(输入(“输入一个数字”)),存储您的数字,并在列表中的所有数字中使用该函数。

非常简单,我根据您的要求为您制作了此程序,用户必须输入10个数字,程序会发现它是否为素数

试试这个:

for i in range(0, 10):
    num = int(input('Enter Number:'))
    if num > 1:
        # check for factors
        for i in range(2, num):
            if (num % i) == 0:
                print(num, "is not a prime number")
                print(i, "times", num // i, "is", num)
                break
        else:
            print(num, "is a prime number")

    # if input number is less than
    # or equal to 1, it is not prime
    else:
        print(num, "is not a prime number")
注意:在for循环中,从用户处获取输入10次如果您想在开始时获取输入,那么您也可以访问该列表,然后您可以在该列表中运行一个循环。选择权归您所有!:)


希望这对你有帮助!:)

要获得10个数字的输入,只需将input()放入for循环,如下所示:

for i in range (0,11):
    input("Number")
除此之外,您还需要一个函数来调用您的数字是否为素数

def isPrime(n):
   for i in range(2,int(sqrt(n))+1):
          if n%i==0:
              return False
   return True

通常情况下,你应该先尝试,先破译代码,然后再问;但是,嘿,我很无聊,所以我为你破例,以下是全部代码:3

你试过什么?请提供一些代码。给我们一些代码和更多规则,例如可能的数字范围。问题是询问python3答案,正如您在标签中看到的,您的答案是python2。对
print
周围的括号投反对票有点苛刻,但是,代码更新并在Python3上运行只要您修复它,它是暂时的,只是尝试遵循规则:^)感谢您的努力我真的很感激,唯一的问题是您的代码没有设置用户输入的固定数量(10)。然而,功能是完美的。再次感谢您的努力,我将确保在以后的问题中添加我的代码!
from math import sqrt; from itertools import count, islice
import sys

def is_prime(n):
    return n > 1 and all(n%i for i in islice(count(2), int(sqrt(n)-1)))

def primer(*args):
    return '-'.join([str(x) for x in args if is_prime(x)])

while True:
    try:
        user_input = input('Enter any amount of numbers seperating them with a comma; or enter quit to quit: ')
        if any(user_input==x for x in ("quit", "q", "exit", "e")):
            sys.exit()
        our_list = [int(x) for x in user_input.split(',')]
        print(primer(*our_list))
    except ValueError:
        print('Please only enter numbers')