Python核心编程(第二版) 第五章 课后习题(1)

来源:互联网 发布:网络论坛生存现状 编辑:程序博客网 时间:2024/06/02 10:37
# 5-2 乘积
def multi(num1, num2):
    return num1 * num2


# 5-3 评测成绩
def grades():
    score = int(raw_input('Please enter your scores: '))
    if 90 <= score <= 100:
        return 'A'
    elif 80 <= score <= 89:
        return 'B'
    elif 70 <= score <= 79:
        return 'C'
    elif 60 <= score <= 69:
        return 'D'
    elif 0 <= score <= 59:
        return 'E'
    else:
        return "the score doesn't exist"


# 5-4 是否闰年
def isleap(year):
    if year % 4 == 0 and year % 100 != 0:
        return True
        if year % 4 == 0 and year % 100 == 0:
            return True
    else:
        return False


# 5-5 美分硬币
def coins(num):
    n25 = num / 25
    n10 = (num - n25 * 25) / 10
    n5 = (num - n25 * 25 - n10 * 10) / 5
    n1 = num - n25 * 25 - n10 * 10 - n5 * 5
    return '''25 cents: %d
10 cents: %d
5 cents: %d
1 cents: %d''' % (n25, n10, n5, n1)


# 5-6 计算器
def calculator(string):
    sym = '+-*/%'
    for n in range(len(string)):
        if string[n] in ['+', '-', '*', '/', '%', '**']:
            if string[n+1] in ['+', '-', '*', '/', '%', '**']:
                nums = string.split('**')
                return int(nums[0]) ** int(nums[1])
            else:
                nums = string.split(string[n])
                print nums
                num1 = int(nums[0])
                num2 = int(nums[1])
                if string[n] == '+':
                    return num1 + num2
                if string[n] == '-':
                    return num1 - num2
                if string[n] == '*':
                    return num1 * num2
                if string[n] == '/':
                    return num1 / num2
                if string[n] == '%':
                    return num1 % num2
                    
# 5-7 营业税
def salesTax(income):
    pass
    
# 5-8 几何 计算面积和体积
def squareArea(x):
    return x ** 2
def cubeVolume(x):
    return x ** 3 
def roundArea(r):
    import math
    return math.pi * (r ** 2)
def sphericalVolume(r):
    import math
    return (4.0 / 3.0) * math.pi * (r ** 3)
    
# 5-10 转换 华氏度到摄氏度
def fahrenheitCentigrade(f):
    centigrade = (f - 32) * (5.0/9.0)
    return centigrade
    
# 5-11 取余
# a
def allEvenNumber(x):
    numbers = []
    for num in range(x+1):
        if num % 2 == 0:
            numbers.append(num)
    return numbers
# b
def allOddNumber(x):
    numbers = []
    for num in range(x+1):
        if num % 2 == 1:
            numbers.append(num)
    return numbers
#d 判断两个数是否有整除关系
def isDivisible():
    num1 = int(raw_input('Please enter an number: '))
    num2 = int(raw_input('Please enter another number: '))
    if num1 % num2 == 0 or num2 % num1 ==0:
        return True
    else:
        return False
0 0