《Python言語プログラム設計基礎》嵩天著-第5章プログラム全練習問題解答

19000 ワード

文書ディレクトリ
  • program practice 5.1より大きい田字格
  • program practice 5.2 isOdd()関数
  • を実現
  • program practice 5.3実装isNum()関数
  • program practice 5.4 multi関数
  • を実現
  • program practice 5.5 isprime()関数
  • を実現
  • program practice 5.6誕生日出力
  • program practice 5.7ハノータ
  • Pythonの授業の宿題.
    ここに貼って、参考にしてくださいね~
    交流の指摘を歓迎して、共に進歩して、ねえ!
    今度は練習問題を全部書き終えた
    運行結果については、自分でやってみてください.
    プログラムpractice 5.1より大きな田字格
    def tian(n): #                   
        a = 5*n+1
        for i in range(1,a+1):
            if i % 5 == 1:
                print("+—————"*n,end="") #          
                print("+")
            else:
                print("|          "*n,end="") #             
                print("|")
    def main():
        n = eval(input("please enter n for width you want: "))
        tian(n) #           ,           3*3 
    main()
    

    プログラムpractice 5.2 isOdd()関数の実装
    def isOdd():
        try:
            i = eval(input("please enter a N you want: "))
            if i % 2 == 1 : #        
                return True
            else:
                return False
        except:
            print("the format u entered is wrong")
    isOdd()
    

    プログラムpractice 5.3 isNum()関数の実装
    def isnum(n):
        try:
            n = eval(n)
            if isinstance(n,float) or isinstance(n,complex) or isinstance(n,int):
                return True
            else:
                return False
        except:
            print("the format u entered is wrong")
    n = input("please enter a C: ")
    isnum(n)
    
    

    プログラムpractice 5.4 multi関数の実現
    def multi(*b):
        a = 1
        for i in b:
            if isinstance(i,float) or isinstance(i,complex) or isinstance(i,int):
                a *= i
            else:
                print("the variable {} is illegal".format(i))
        return a
    multi(2,87,"ss")
    

    プログラムpractice 5.5 isprime()関数の実装
    def isprime(): #            
        n = input("please enter a number: ")
        try:
            n = eval(n) #           
            if isinstance(n,int): #      
                if n > 1 :#             
                    for i in range(2,n): 
                        if n % i == 0: #    ,          
                            return False #           
                            break
                    else: 
                        return True
                else: #   1       
                    return False
            else:
                return False
        except:
            print("the format is wrong ")
    isprime()
    

    プログラムpractice 5.6誕生日出力
    import datetime as t
    bir = t.datetime(2020,1,30,13,2,3)
    print(bir.strftime("%Y-%m-%d %X"))
    print(bir.strftime("%Y-%B-%d %X"))
    print(bir.strftime("%Y-%b-%d %X"))
    print(bir.strftime("%x %X"))
    print(bir.strftime("%x %X"))
    print(bir.strftime("%Y|%m|%d|%H|%M|%S")) # %i            
    

    プログラムpractice 5.7ハンノタワー
    直接説明する
    # program practice 5.7          n n-1     
    c = 0
    def hanoi(n,src,dst,mid): # n      
        global c
        if n == 1: 
            print("{}:{}->{}".format(1,src,dst)) #         
            c += 1
        else: # n n-1   
            hanoi(n-1,src,mid,dst) # n-1         ,         
            print("{}:{}->{}".format(n,src,dst)) #    n         
            c += 1 
            hanoi(n-1,mid,dst,src) #           ,      n-1         
    hanoi(3,"A","C","B")
    print("Toally, it took {} steps".format(c))
    print(c)