zoukankan      html  css  js  c++  java
  • python核心编程-第五章-习题

    1.长整型表示数的范围比整型更大。在python中,整型、长整型趋于统一,普通用户不用特别关注两者区别,仅当需引用C语言时需要特别注意。

    2.操作符

    (a)

    def product(x,y):
        return x * y

    (b)

    >>> print product(23,24)
    552

    3.

    def result(x):
        if 90 <= x <= 100:
            return "A"
        elif 80 <= x <= 89:
            return "B"
        elif 70 <= x <= 79:
            return "C"
        elif 60 <= x <= 69:
            return "D"
        else:
            return "F"

    4.

    # -*- coding:utf-8 -*-
    
    def year_judge(year):
        
        if (int(year) % 4 == 0 and int(year) % 100 != 0) or int(year) % 400 == 0:
            return u"该年是闰年!"
        else:
            return u"该年是平年!"

    5.

    # -*- coding:utf-8 -*-
    def exchange(x):
        divide_25,mod_25 = divmod(x,25)[0],divmod(x,25)[1]
        if mod_25 == 0:
            return u"%d 美分换算结果是:%d枚25美分。" 
            % (x,divide_25)
        else:
            divide_10,mod_10 = divmod(mod_25,10)[0],divmod(mod_25,10)[1]
            if mod_10 == 0:
                return u"%d美分换算结果是:%d枚25美分,%d枚10美分。" 
                % (x,divide_25,divide_10)
            else:
                divide_5,mod_5 = divmod(mod_10,5)[0],divmod(mod_10,5)[1]
                if mod_5 == 0:
                    return u"%d美分换算结果是:%d枚25美分,%d枚10美分,%d枚5美分。" 
                    % (x,divide_25,divide_10,divide_5)
                else:
                    return u"%d美分换算结果是:%d枚25美分,%d枚10美分,%d枚5美分,%d枚1美分。"
                    % (x,divide_25,divide_10,divide_5,mod_5)
                    
    def cents_exchange(x):
        if x < 1:
            x = x * 100
        else:
            x = int(x)
            print exchange(x)

    6.

    # -*- coding:utf-8 -*-
    
    def calculator():
        global expression
        expression = raw_input("请输入一个表达式,可以计算加减乘除取余和幂运算,按Q退出。".decode("utf-8").encode("gbk"))
        if expression == "Q":
            return u"程序退出,再见"else:
            for i in ["+","-","**","/","%","*"]:
                if i in expression:
                    numbers = expression.split(i)
                    if "." in expression:
                        N1 = float(numbers[0])
                        N2 = float(numbers[1])
                    else:
                        N1 = int(numbers[0])
                        N2 = int(numbers[1])
                    if i == "+":
                        return N1 + N2
                    elif i == "-":
                        return N1 - N2
                    elif i == "*":
                        return N1 * N2
                    elif i == "**":
                        return N1 ** N2
                    elif i == "%":
                        return N1 % N2
                    elif i == "/":
                        return N1 / N2
    
    while True:                    
        print calculator()
        if expression == "Q":
            break 

    7.

    # -*- coding:utf-8 -*-
    sales = float(raw_input("请输入营业额".decode("utf-8").encode("gbk")))
    rate = float(raw_input("请输入税率,以两位小数表示".decode("utf-8").encode("gbk")))
    print u"应缴税额为:%f 元人民币。" % (sales * rate)

    8.

    # -*- coding:utf-8 -*-
    def geometry():
        prompt = raw_input("计算正方形面积请输入1,立方体体积请输入2,圆面积请输入3,球体积请输入4".
        decode("utf-8").encode("gbk"))
        if prompt == "1":
            side = raw_input("请输入边长".decode("utf-8").encode("gbk"))
            print u"该正方形的面积是:%d" % (int(side) ** 2)
        elif prompt == "2":
            side = raw_input("请输入边长".decode("utf-8").encode("gbk"))
            print u"该正方体的体积是:%d" % (int(side) ** 3)
        elif prompt == "3":
            radius = raw_input("请输入半径".decode("utf-8").encode("gbk"))
            print u"该圆的面积是:%s" % (float(radius) ** 2 * 3.14)
        elif prompt == "4":
            radius = raw_input("请输入半径".decode("utf-8").encode("gbk"))
            print u"该球的体积是:%s" % (float(radius) ** 3 * 4 * 3.14 / 3)
    
    geometry()

    9.

    a.进制问题  python中0开头的数字表示八进制的数字

    b.56l + 78l 代表的是长整数的和

    10.

    # -*- coding:utf-8 -*-
    def F_to_C(F):
        print u"%s℉等于%f℃" % (F,(float(F) - 32) * 5 / 9)

    11.(1)

    #取偶数
    for i in range(0,21):
        if i % 2 == 0:
            print i,
           
    print 
    
    #取奇数
    for i in range(0,21):
        if i % 2 == 1:
            print i, 

    (2)对2进行取余运算,余数0是偶数,否则是奇数

    (3)

    # -*- coding:utf-8 -*-
    
    def judge_divide(x,y):
        if x % y == 0:
            print u"%d可以被%d整除!" % (x,y)
        else:
            print u"%d不能被%d整除!" % (x,y)
    
    def judge():
        number1 = int(raw_input("请输入第一个整数".decode("utf-8").encode("gbk")))
        number2 = int(raw_input("请输入第二个整数".decode("utf-8").encode("gbk")))
        if number1 < number2:
            judge_divide(number2,number1)
        else:
            judge_divide(number1,number2)
    
    

    12.

    # -*- coding:utf-8 -*-
    import sys
    print sys.maxint
    print -sys.maxint - 1
    print sys.float_info.max
    print sys.float_info.min
    print sys.long_info

    13.

    # -*- coding:utf-8 -*-
    time = raw_input("请输入时间,英文冒号:前为小时数,英文冒号:后为分钟数".decode("utf-8").encode("gbk"))
    hour = int(time.split(":")[0])
    minute = int(time.split(":")[1])
    print u"%d:%d等于%d分钟。" % (hour,minute,hour * 60 + minute)

    14.

    # -*- coding:utf-8 -*-
    def Annual_return_rate(rate):
        per_day_rate = rate / 365.0
        investment = 1
        interest = 1 * (1 + per_day_rate) ** 365 - 1
        print u"年回报率为:",interest * 100,"%"
    
    Annual_return_rate(0.5)

    15.

    # -*- coding:utf-8 -*-
    def greatest_common_divisor(x,y):
        divisor = max(x,y)
        while divisor >= 1:
            if x % divisor != 0 or y % divisor != 0:
                divisor -= 1
            else:
                print u"%d和%d的最大公约数是%d。" % (x,y,divisor)
                break
    
    def least_common_multiple(x,y):
        multiple = max(x,y)
        while multiple <= x * y:
            if multiple % x == 0 and multiple % y == 0:
                print u"%d和%d的最小公倍数是%d。" % (x,y,multiple)
                break
            else:
                multiple += 1

    16.略

    17.

    # -*- coding:utf-8 -*-
    import random
    
    N = random.randint(2,100)
    i = 1
    random_list1 = []
    while i <= N:
        random_list1.append(random.randint(0,2 ** 31 - 1))
        i += 1
    
    h = 1
    N2 = random.randint(1,100)
    random_list2 = []
    while h <= N2:
        random_list2.append(random.choice(random_list1))
        h += 1
    
    print sorted(random_list2)
  • 相关阅读:
    按比例缩放图片,JavaScript代码
    ajax学习资料
    真正的取真实IP地址
    trac+svn+apache
    2009年的十大流行网站技术
    未能使用提供程序“RsaProtectedConfigurationProvider”进行解密
    ajax 自动保存草稿[转]
    从资源文件里加载文件(C#)
    javascript获取FCKeditor内容
    apache+php+mysql+phpadmin配置
  • 原文地址:https://www.cnblogs.com/hnyczhj/p/4784202.html
Copyright © 2011-2022 走看看