猫史档案馆


【Python作品分享】判断质数【求助帖】

用户:a一只打工鸡a一只打工鸡查看:1 回复:4 评论:1 创建时间:2021-10-01T21:36:46


【作品展示】

center_image

 

【作品介绍】

大家好。

今天写try的时候遇到了一点问题~

被判断数的ValueError已经解决了,但是输入判断次数的bug超出了我的能力范围[手动555]

求助大佬,995吧!

 

【作品源代码】

def isPrime(n):

    # 第1部分:定义判断函数
    cnt = 0
    for i in range(n):
        if (n % (i + 1) == 0):
            cnt += 1
    if (cnt == 2):
        return True
    else:
        return False

def trying():

    # 第2部分:定义排错函数
    try:
        print('第', (i + 1), '次输入')
        num = int(input())
        if isPrime(num):
            print('是质数')
        else:
            print('不是质数')
        print()
    except ValueError:
        print('不要乱输哦,请重新输入~')
        # 递归
        trying()

# 第3部分:输入判断次数 + 判断
print('输入判断次数:')
t = int(input())
print()
print('开始输入...')
for i in range(t):
    trying()

# 第4部分:报告结束
print('运行结束!')

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
飞熊jSrt飞熊jSrt

importtimeast g=0 defnone(): pass defisPrime(n): #第1部分:定义判断函数 cnt=0 foriinrange(n): if(n%(i+1)==0): cnt+=1 if(cnt==2): returnTrue else: returnFalse deftrying(ii): #第2部分:定义排错函数 try: print('第',(ii+1),'次输入') num=int(input()) ifisPrime(num): print('是质数') else: print('不是质数') print() exceptValueError: print('不要乱输哦,请重新输入~') globalg g+=1 ifg==5: print('giao!!!') t.sleep(1) print('fuckyou!') foriinrange(100): print('\a') #递归 trying(ii) #第3部分:输入判断次数+判断 defn(): print('输入判断次数:') try: t=int(input()) except: print('giao') print('shit!') #raiseTypeError('输入整数呀喵')#抛出错误 print('\a输入整数呀大喵\a\n') globalg g+=1 n() print() print('开始输入...') foriinrange(t): trying(i) ifg==5: print('giao!!!') t.sleep(1) print('fuckyou!') foriinrange(100): print('\a') n() #第4部分:报告结束 print('运行结束!')

点赞0


评论


飞熊jSrt飞熊jSrt

https://shequ.codemao.cn/community/404910

点赞0


评论


小麦做的面包小麦做的面包

def isPrime(n):

    # 第1部分:定义判断函数
    cnt = 0
    for i in range(n):
        if (n % (i + 1) == 0):
            cnt += 1
    if (cnt == 2):
        return True
    else:
        return False

def trying(i,t):
    if i>0:
        # 第2部分:定义排错函数
        try:
            print('第', t-i+1, '次输入')
            num = int(input())
            if isPrime(num):
                print('是质数')
            else:
                print('不是质数')
            print()
        except ValueError:
            print('不要乱输哦,请重新输入~')
            # 递归
            trying(i-1,t)

# 第3部分:输入判断次数 + 判断
print('输入判断次数:')
t = int(input())
print()
print('开始输入...')
trying(i,i)

# 第4部分:报告结束
print('运行结束!')

点赞0


评论


飞熊jSrt飞熊jSrt

import time as t
g = 0
def none():
    pass
def isPrime(n):

    # 第1部分:定义判断函数
    cnt = 0
    for i in range(n):
        if (n % (i + 1) == 0):
            cnt += 1
    if (cnt == 2):
        return True
    else:
        return False

def trying(ii):

    # 第2部分:定义排错函数
    try:
        print('第', (ii + 1), '次输入')
        num = int(input())
        if isPrime(num):
            print('是质数')
        else:
            print('不是质数')
        print()
    except ValueError:
        print('不要乱输哦,请重新输入~')
        global g
        g += 1

        if g == 5:
            print('giao!!!')
            t.sleep(1)
            print('fuck you!')
            for i in range(100):
                print('\a')


        # 递归
        trying(ii)

# 第3部分:输入判断次数 + 判断
def n():
    print('输入判断次数:')
    try:
        t = int(input())
    except:
        print('giao')
        print('shit!')
        #raise TypeError('输入整数呀Sb')                        #抛出错误
        print('\a输入整数呀大Sb\a\n')
        global g
        g += 1
        n()
    print()
    print('开始输入...')
    for i in range(t):
        trying(i)
    
    if g == 5:
        print('giao!!!')
        t.sleep(1)
        print('fuck you!')
        for i in range(100):
            print('\a')

n()
# 第4部分:报告结束
print('运行结束!')

点赞0


评论