chapter5 HW课后习题

#P196 5.1
def tianzige(width):
    frame=('+'+'-'*width)*4 +'+'
    kongbai=('|'+' '*width)*4 +'|'
    for i in range(4):
        print(frame)
        for j in range(width):
            print(kongbai)
    print(frame)

print(tianzige(4))

#5.2
def isOdd(x):
    return x%2!=0
num=eval(input("请输入一个数:"))
if isOdd(num) and type(num)==int:
    print("True")
else:
    print("False")

#5.3
def isPrime(x):
    if x<=1:
        return False
    elif 1:
        for i in range(2,x):
            if x%i ==0:
                return False
            else:
                return True
            
num=eval(input("请输入一个数:"))
if type(num)==int and isPrime(num):
    print("True")
else:
    print("False")
  
#5.4
def isprime(x):
    if x<=1:
        return False
    else:
        for i in range(2,x):
            if x%i==0:
                return False
    return True
primelist=[]
def PrimeList(N):
    for s in range(2,N):
        if isprime(s):
            primelist.append(s)
    for k in primelist:
        print(k,end=" ")
       
N=int(input("请输入一个整数:"))
PrimeList(N)

#5.5
def isNum(x):
    if type(x)==int:
        return True
    elif type(x)==float:
        return True
    elif type(x)==complex:
        return True
    else:
        return False
x=eval(input("请输入一串字符:"))
print(isNum(x))

#5.6
def multi(x):
    s=1
    for i in range(len(x)):
        s=s*eval(x[i])
    print(s)
a=input("请输入多个参数:")
b=a.split(',')
multi(b)

#5.7
def FabN(x):
    if x==0 or x==1:
        return 1
    else:
        return FabN(x-1)+FabN(x-2)
n=int(input("请输入一个整数:"))
print(FabN(n))

#5.8
def isType(obj):
    
    type_map = {
        int: "整数",
        float: "小数",
        complex: "复数",
        str: "字符串",
        list: "列表",
        dict: "字典",
        set: "集合",
        tuple: "元组",
        bool: "布尔值" 
    }
    
    obj_type = type(obj)
    return type_map.get(obj_type, "未知类型") 
a=input("请输入:")
try:
    b=eval(a)
    print(isType(b))
except:
    
    print(isType(a))


    
    

 

posted @ 2025-04-21 23:23  吃不胖的曾小明  阅读(4)  评论(0)    收藏  举报