鱼C论坛

 找回密码
 立即注册
查看: 10171|回复: 50

[已解决]小白Python练习册(5)【鱼币福利】

[复制链接]
发表于 2020-4-25 13:53:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 WangJS 于 2020-4-25 14:09 编辑

老王出品,必是精品
先评后看,已成习惯


(告诉大家一个秘密,现在VIP评分也是要扣除自己的相应积分,但是在我这个帖子评荣誉和贡献是不减自己的的,快去试试吧!)
HXJQX[25A24F~)]GYY3Y4V0.png
=========================================================

今天的题目是判断一个数字是否是质数(输入Q退出程序)
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。


输入数字,判断此数字是否为质数(输入Q退出程序)
ps:输入完按Enter出结果哟

输入一个比2大的整数:40
40 不是质数
输入一个比2大的整数:2
输入错误,请重新输入
输入一个比2大的整数:5
5 是质数
输入一个比2大的整数:Q

积极答题,奖励鱼币


回复查看参考答案:

游客,如果您要查看本帖隐藏内容请回复

如果有收获,请评分!
【不要评鱼币!给我贡献就好



等下还有个事!!!千万别忘了去订阅!!!(戳我前进)
最佳答案
2020-4-25 13:53:52
本帖最后由 zltzlt 于 2020-4-25 14:06 编辑

破烂版

  1. while 1:
  2.     s = input('输入一个比 2 大的整数:')
  3.     if s == 'Q':
  4.         break
  5.     if not s.isdigit() or int(s) <= 2:
  6.         print("输入错误,请重新输入")
  7.         continue
  8.     s = int(s)
  9.     for i in range(2, int(s ** 0.5) + 1):
  10.         if not s % i:
  11.             b = False
  12.             break
  13.     else:
  14.         b = True
  15.     print(f'{s} {"" if b else "不"}是质数')
复制代码

评分

参与人数 3荣誉 +3 鱼币 +3 贡献 +3 收起 理由
空条徐伦 + 1 + 1 + 1
kobetalent24 + 1 + 1 + 1
nizitao + 1 + 1 + 1

查看全部评分

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-4-25 13:53:52 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +3 鱼币

本帖最后由 zltzlt 于 2020-4-25 14:06 编辑

破烂版

  1. while 1:
  2.     s = input('输入一个比 2 大的整数:')
  3.     if s == 'Q':
  4.         break
  5.     if not s.isdigit() or int(s) <= 2:
  6.         print("输入错误,请重新输入")
  7.         continue
  8.     s = int(s)
  9.     for i in range(2, int(s ** 0.5) + 1):
  10.         if not s % i:
  11.             b = False
  12.             break
  13.     else:
  14.         b = True
  15.     print(f'{s} {"" if b else "不"}是质数')
复制代码

评分

参与人数 1荣誉 +3 贡献 +2 收起 理由
WangJS + 3 + 2 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 13:57:21 | 显示全部楼层

回帖奖励 +3 鱼币

本帖最后由 qiuyouzhi 于 2020-4-25 14:03 编辑
  1. def is_prime(n):
  2.     if n == 0 or n == 1:
  3.         return False
  4.     for i in range(2,n):
  5.         if n % i == 0:
  6.             return False
  7.     return True

  8. while True:
  9.     k = input("请输入一个数字(输入Q退出): ")
  10.     if k != 'Q':
  11.         if is_prime(int(k)):
  12.             print(f"{k}是质数!")
  13.         else:
  14.             print(f"{k}不是质数!")
  15.     else:
  16.         break
复制代码

评分

参与人数 1荣誉 +2 贡献 +2 收起 理由
WangJS + 2 + 2 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 13:57:41 | 显示全部楼层

回帖奖励 +3 鱼币

我这个更智能
  1. while True:
  2.     i = int(input("看看是不是质数:"))
  3.     if i > 2:
  4.         for z in range(2,i):
  5.             if i%z != 0:
  6.                 d = '不是质数'
  7.             else:
  8.                 d = '是质数'
  9.         if d == '是质数':
  10.             print("是质数")
  11.         else:
  12.             print("是合数")
  13.     elif i == 2:
  14.         print("是质数")
  15.     elif i == 1:
  16.         print("1既不是质数也不是合数")
  17.     else:
  18.         print("输入错误")
  19.     i = input("是否继续?(按t继续,按f退出)")
  20.     if i == 'f':
  21.         break
复制代码

评分

参与人数 1荣誉 +3 贡献 +2 收起 理由
WangJS + 3 + 2 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 14:04:49 | 显示全部楼层

回帖奖励 +3 鱼币

地下室。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 14:05:31 | 显示全部楼层

回帖奖励 +3 鱼币

本帖最后由 乘号 于 2020-4-25 14:06 编辑

地狱等等代码马上来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 14:08:16 | 显示全部楼层

回帖奖励 +3 鱼币

下水道。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 14:08:47 | 显示全部楼层
本帖最后由 乘号 于 2020-4-25 14:10 编辑

垃圾版



  1. h = int(input("请输入一个数字"))
  2. for j in range(2,h):
  3.     if h % j == 0:
  4.         print("不是质数")
  5.         break
  6. else:
  7.     print("是质数")
复制代码

评分

参与人数 1贡献 +2 收起 理由
WangJS + 2 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-25 14:14:50 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 14:16:25 | 显示全部楼层
  1. 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 "不"}是质数\')')
复制代码

评分

参与人数 1鱼币 +2 贡献 +2 收起 理由
WangJS + 2 + 2 感谢楼主无私奉献!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-25 14:19:48 | 显示全部楼层

大……大佬,厉害啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 14:46:21 | 显示全部楼层

回帖奖励 +3 鱼币

  1. def primenumber(num):
  2.     for i in range(2,num//2+1):
  3.        if num%i==0:
  4.            return False
  5.     return True

  6. print('输入数字,判断此数字是否为质数(输入Q退出程序)\nps:输入完按Enter出结果哟')
  7. while True:
  8.     a=input('输入一个比2大的整数:')
  9.     if a.upper()=='Q':
  10.         break
  11.     if not a.isdigit() or int(a)<=2 :
  12.         print('输入错误,请重新输入')
  13.         continue
  14.     print('%s %s质数' % (a,'是' if primenumber(int(a)) else '不是'))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 14:54:05 | 显示全部楼层

回帖奖励 +3 鱼币

本帖最后由 兔子BUNNY 于 2020-4-25 15:08 编辑
  1. while True:
  2.     a = input("输入一个比2大的整数(输入Q退出程序)")
  3.     if a=='Q':
  4.         break
  5.     num=int(a)
  6.     if num <= 2:
  7.         print("输入错误,请重新输入")
  8.         continue
  9.     for i in range(2,num):
  10.         if not num%i:
  11.             print(num,'不是质数')
  12.             break
  13.         if i == num - 1:
  14.             print(num,'是质数')
复制代码

老小白了。话说上面为什么会有大佬
我想体验最佳答案的感觉
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 14:57:15 | 显示全部楼层

回帖奖励 +3 鱼币

马上
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-4-25 15:07:53 | 显示全部楼层

回帖奖励 +3 鱼币

报错了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 16:11:18 | 显示全部楼层

回帖奖励 +3 鱼币

  1. print('输入数字,判断此数字是否为质数(输入Q退出程序)\nps:输入完按Enter出结果哟\n如果没说不是质数,便证明为质数')

  2. while True:
  3.     num = input('输入一个比2大的整数:')
  4.     if num == 'Q':
  5.         break
  6.     elif int(num) <= 2:
  7.         print('输入错误,请重新输入')      
  8.     elif int(num) > 2:
  9.         for each in range(2, int(int(num)/2) + 1):
  10.             if int(num) % each == 0:
  11.                 print('%s不是质数' % num)
  12.                 break
  13.     else:
  14.         print('输入错误,请重新输入')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 16:12:45 | 显示全部楼层

回帖奖励 +3 鱼币

  1. from math import sqrt


  2. def isPrime(n):
  3.     if n < 2:
  4.         return False
  5.     elif n == 2:
  6.         return True
  7.     elif n % 2 == 0:
  8.         return False
  9.     else:
  10.         for i in range(3, int(sqrt(n) + 1), 2):
  11.             if not n % i:
  12.                 return False
  13.         return True


  14. while True:
  15.     n = input('enter a number(enter Q to quit):')
  16.     if n == "Q":
  17.         print('quit')
  18.         break
  19.     elif not n.isdigit():
  20.         print('please enter a right number!')
  21.         continue
  22.     print('{} {}是质数'.format(n, '' if isPrime(int(n)) else '不'))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 16:30:31 | 显示全部楼层
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

评分

参与人数 1荣誉 +4 鱼币 +2 收起 理由
WangJS + 4 + 2 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 16:58:18 | 显示全部楼层
这个还是要扣的哇
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 17:25:40 | 显示全部楼层
  1. number = int(input('请输入一个比2大的整数:'))
  2. if number > 2:
  3.     for i in range(2,number):
  4.         count = 0
  5.         if number%i == 0 :
  6.             count += 1
  7.             break
  8.     if count == 1:
  9.         print('%d是不是质数~~'%number)
  10.     else:
  11.         print('%d是质数~~'%number)
  12. else:
  13.     print('要大于2~~~的整数噢')

复制代码

评分

参与人数 1荣誉 +1 鱼币 +2 收起 理由
WangJS + 1 + 2

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-27 05:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表