小白Python练习册(5)【鱼币福利】
本帖最后由 WangJS 于 2020-4-25 14:09 编辑老王出品,必是精品{:10_256:}
先评后看,已成习惯{:10_297:}
(告诉大家一个秘密,现在VIP评分也是要扣除自己的相应积分,但是在我这个帖子评荣誉和贡献是不减自己的的,快去试试吧!)
=========================================================
今天的题目是判断一个数字是否是质数(输入Q退出程序)
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
输入数字,判断此数字是否为质数(输入Q退出程序)
ps:输入完按Enter出结果哟
输入一个比2大的整数:40
40 不是质数
输入一个比2大的整数:2
输入错误,请重新输入
输入一个比2大的整数:5
5 是质数
输入一个比2大的整数:Q
积极答题,奖励鱼币{:10_279:}
回复查看参考答案:
**** Hidden Message *****
如果有收获,请评分!
【不要评鱼币!给我贡献就好{:10_254:} 】
等下还有个事!!!千万别忘了去订阅!!!(戳我前进) 本帖最后由 zltzlt 于 2020-4-25 14:06 编辑
破烂版
while 1:
s = input('输入一个比 2 大的整数:')
if s == 'Q':
break
if not s.isdigit() or int(s) <= 2:
print("输入错误,请重新输入")
continue
s = int(s)
for i in range(2, int(s ** 0.5) + 1):
if not s % i:
b = False
break
else:
b = True
print(f'{s} {"" if b else "不"}是质数') 本帖最后由 qiuyouzhi 于 2020-4-25 14:03 编辑
def is_prime(n):
if n == 0 or n == 1:
return False
for i in range(2,n):
if n % i == 0:
return False
return True
while True:
k = input("请输入一个数字(输入Q退出): ")
if k != 'Q':
if is_prime(int(k)):
print(f"{k}是质数!")
else:
print(f"{k}不是质数!")
else:
break 我这个更智能
while True:
i = int(input("看看是不是质数:"))
if i > 2:
for z in range(2,i):
if i%z != 0:
d = '不是质数'
else:
d = '是质数'
if d == '是质数':
print("是质数")
else:
print("是合数")
elif i == 2:
print("是质数")
elif i == 1:
print("1既不是质数也不是合数")
else:
print("输入错误")
i = input("是否继续?(按t继续,按f退出)")
if i == 'f':
break
地下室。。。 本帖最后由 乘号 于 2020-4-25 14:06 编辑
地狱等等代码马上来 下水道。。。 本帖最后由 乘号 于 2020-4-25 14:10 编辑
垃圾版
h = int(input("请输入一个数字"))
for j in range(2,h):
if h % j == 0:
print("不是质数")
break
else:
print("是质数") zltzlt 发表于 2020-4-25 14:13
直接报错{:10_245:} WangJS 发表于 2020-4-25 14:14
直接报错
exec('print("输入数字,判断此数字是否为质数(输入 Q 退出程序)\\nps:输入完按 Enter 出结果哟")\nwhile 1:\n s = input(\'输入一个比 2 大的整数:\')\n if s == \'Q\':\n break\n if not s.isdigit() or int(s) <= 2:\n print("输入错误,请重新输入")\n continue\n s = int(s)\n for i in range(2, int(s ** 0.5) + 1):\n if not s % i:\n b = False\n break\n else:\n b = True\n print(f\'{s} {"" if b else "不"}是质数\')') zltzlt 发表于 2020-4-25 14:16
大……大佬,厉害啊{:10_278:} def primenumber(num):
for i in range(2,num//2+1):
if num%i==0:
return False
return True
print('输入数字,判断此数字是否为质数(输入Q退出程序)\nps:输入完按Enter出结果哟')
while True:
a=input('输入一个比2大的整数:')
if a.upper()=='Q':
break
if not a.isdigit() or int(a)<=2 :
print('输入错误,请重新输入')
continue
print('%s %s质数' % (a,'是' if primenumber(int(a)) else '不是'))
本帖最后由 兔子BUNNY 于 2020-4-25 15:08 编辑
while True:
a = input("输入一个比2大的整数(输入Q退出程序)")
if a=='Q':
break
num=int(a)
if num <= 2:
print("输入错误,请重新输入")
continue
for i in range(2,num):
if not num%i:
print(num,'不是质数')
break
if i == num - 1:
print(num,'是质数')
老小白了。话说上面为什么会有大佬
我想体验最佳答案的感觉{:10_256:} 马上 报错了{:10_245:} print('输入数字,判断此数字是否为质数(输入Q退出程序)\nps:输入完按Enter出结果哟\n如果没说不是质数,便证明为质数')
while True:
num = input('输入一个比2大的整数:')
if num == 'Q':
break
elif int(num) <= 2:
print('输入错误,请重新输入')
elif int(num) > 2:
for each in range(2, int(int(num)/2) + 1):
if int(num) % each == 0:
print('%s不是质数' % num)
break
else:
print('输入错误,请重新输入')
from math import sqrt
def isPrime(n):
if n < 2:
return False
elif n == 2:
return True
elif n % 2 == 0:
return False
else:
for i in range(3, int(sqrt(n) + 1), 2):
if not n % i:
return False
return True
while True:
n = input('enter a number(enter Q to quit):')
if n == "Q":
print('quit')
break
elif not n.isdigit():
print('please enter a right number!')
continue
print('{} {}是质数'.format(n, '' if isPrime(int(n)) else '不'))
num=input('请输入一个比2大的整数:')
n=int(num)
for i in range(2,n):
if n<=2:
print('输入错误,请重新输入!')
elif num=='Q':
break
elif n%i!=0:
print('%d是质数'%n)
break
else:
print('%d不是质数'%n)
break 这个还是要扣的哇{:10_266:} number = int(input('请输入一个比2大的整数:'))
if number > 2:
for i in range(2,number):
count = 0
if number%i == 0 :
count += 1
break
if count == 1:
print('%d是不是质数~~'%number)
else:
print('%d是质数~~'%number)
else:
print('要大于2~~~的整数噢')