鱼C论坛

 找回密码
 立即注册
查看: 8578|回复: 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 编辑

破烂版
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 "不"}是质数')

评分

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

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

回帖奖励 +3 鱼币

本帖最后由 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 "不"}是质数')

评分

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

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +3 鱼币

本帖最后由 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

评分

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

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +3 鱼币

我这个更智能
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

评分

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

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +3 鱼币

地下室。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +3 鱼币

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

地狱等等代码马上来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +3 鱼币

下水道。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

垃圾版


h = int(input("请输入一个数字"))
for j in range(2,h):
    if h % j == 0:
        print("不是质数")
        break
else:
    print("是质数")

评分

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

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-25 14:14:50 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 14:16:25 | 显示全部楼层
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 感谢楼主无私奉献!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

大……大佬,厉害啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +3 鱼币

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 '不是'))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +3 鱼币

本帖最后由 兔子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,'是质数')
老小白了。话说上面为什么会有大佬
我想体验最佳答案的感觉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +3 鱼币

马上
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

回帖奖励 +3 鱼币

报错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +3 鱼币

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('输入错误,请重新输入')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +3 鱼币

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 '不'))
想知道小甲鱼最近在做啥?请访问 -> 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有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 16:58:18 | 显示全部楼层
这个还是要扣的哇
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 17:25:40 | 显示全部楼层
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~~~的整数噢')

评分

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

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 00:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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