寄り道10(ラズパイ4)

今日の目標

問題を解く(良い三角形)

今日の結果

問題を解く(良い三角形)
→達成

問題を解く(良い三角形)

多重ループにて

 多重ループをbreak文で抜ける際、pythonではフラグを準備する必要があります。PHPみたいに、break 2 で多重ループから抜ける(処理の中断)ができないということです。
 今回はreturnで強制的に関数が終了するため、必要なくなりました。

num_sequence関数にて

 このnum_sequence関数で、引数1をとった時、Noneが返ってきました。
 リストlの中にNoneが返ってくる現象を解決するためにまたif文を使うことになりました。
 pythonはswitch文等を切り捨ててif文ですべてを解決させるものなので、if文にはとてもお世話になります。

トラップ

今回は入力待機が存在しないのと、時間の関係で没にしました。
計算時間19:51〜20:21(遅くても)

今回のソースコード

# def isascnum(s):
#     return True if s.isdecimal() and s.isascii() else False

#結果
# 'NoneType' object has no attribute 'isdecimal'
def num_sequence(num_term):#関数good_triangleの数列を作る term:項
    l=[]
    n=4
    while len(l)!=num_term:
        m=good_triangle(n)
        if m!=None:
            l.append(m)
        n+=1
    return max(l)
    # n=0
    # l=[]
    # l.append(good_triangle(20))
    # while n!=num_term:
        
    #     n+=1




def good_triangle(a):
    for p in range(1,a):
        # flg=0
        for q in range(1,a):
            # if flg:
            #     break
            for r in range(1,a):
                if is_good(p,q,r,a):
                    return a
                #     flg=1
                #     if flg:
                #         break
                        # if judging_num(p,q,r):
                        #     return a
                            #print(p,q,r,a)

def judging_num(p,q,r):#pとqとrを一通りに絞る
    return True if p>q and q>r else False

def is_good(p,q,r,a):
    if (p**2+q**2+r**2+a**2)**2==3*(p**4+q**4+r**4+a**4):
        return True
    else:
        return False

# b=is_good(7,5,3,8)
# print(b)
# print(good_triangle(200))
print(num_sequence(100))
# # def num_seq(n):
# good_triangle(8)
#pow(pow(p,2)+pow(q,2)+pow(r,2)+pow(a,2),2)=3*(pow(p,4)+pow(q,4)pow(r,4)pow(a,4))

次回の目標

Google Drive上のフォルダのショートカットを作る
Git Hubを触る

余談: 時間がないのでパスしました