如果可能,我需要你的帮助。我是Python的新手,但我对C#,java有很好的理解,现在已经开始学习python作为我学习计划的一部分。我无法完成我的任务之一,因为没有人知道我使用python,所以无法得到任何帮助。
我的任务是: “从给定的10个数字列表中找到素数。用户应输入10个数字” 有人可以帮帮我吗?提前致谢
答案 0 :(得分:0)
非常简单,我根据你的要求为你制作这个程序,用户必须输入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次,然后您也可以使用该输入,然后您可以运行该列表的循环。选择是你的! :)
希望这对你有所帮助! :)
答案 1 :(得分:0)
要获得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
答案 2 :(得分:0)
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')
通常你应该先尝试,破解代码然后再问;但是嘿,我很无聊,所以我为你做了一个例外,这是整个代码。 :3