zoukankan      html  css  js  c++  java
  • python 核心编程第5章(习题)

    1.标准类型运算符. 写一段脚本,输入一个测验成绩,根据下面的标准,输出他的评分成绩(A-F)。

    #coding:utf8
    a = raw_input()
    a = int(a)
    if (a > 100) or (a < 0):
    	print "输入错误,请输入0~100的数字"
    elif(a >=90):
    	print "A"
    elif(a>=80):
    	print "B"
    elif(a >= 70):
    	print "C"
    elif(a >=60):
    	print "D"
    else:
    	print "F"
    

     2.写一个函数,计算并返回两个数的乘积

    def evil(a,b): 
    	return a * b
    
    x = raw_input("Please input first number:")
    y = raw_input("Please input second number:")
    x = int(x)
    y = int(y)
    print 'a * b = ',evil(x,y)
    

    3. 判断给定年份是否是闰年

    #coding:utf8
    ‘’‘
    一个闰年就是指它可以被4 整除,但不能被100 整除, 或者它既可以被4 又可以被100 整
    除
    ’‘’
    a = raw_input()
    a = int(a)
    if (a % 4 == 0) and (a % 100 != 0):
    	print "润年"
    elif (a % 4 ==0) and (a % 100 == 0):
    	print "润年"
    else:
    	print "不算润年"
    

    4.取一个任意小于1 美元的金额,然后计算可以换成最少多少枚硬币。硬币有1美分,5 美分,10 美分,25 美分四种。1 美元等于100 美分。举例来说,0.76 美元换算结果应该是 3 枚25 美分,1 枚1 美分。类似76 枚1 美分,2 枚25 美分+2 枚10 美分+1 枚5 美分+1枚1 美分这样的结果都是不符合要求的。

    #coding:utf8
    money = raw_input('请输入任意小于1美元的金额')
    print money,'美元换算结果'
    money = float(money)
    money *= 100
    money = int(money)
    cent25 = money / 25
    money %= 25    #取余
    cent10 = money /10
    money %= 10    #取余
    cent5 = money / 5
    money %= 5    #取余
    cent1 =money / 1
    if cent25:
    	print '25美分*',cent25
    if cent10:
    	print '10美分*',cent10
    if cent5:
    	print '5美分*',cent5
    if cent1:
    	print '1美分*', 

    6 .写一个计算器程序 你的代码可以接受这样的表达式,两个操作数加一个运算符:N1 运算符 N2. 其中 N1 和 N2 为整数或浮点数,运算符可以是+, -, *, /, %, ** 分别表示加法,减法, 乘法, 整数除,取余和幂运算。计算这个表达式的结果,然后显示出来。提示:可以使用字符串方法 split(),但不可以使用内建函数 eval().

    #coding:utf8
    """简单计算器程序,还有些Bug ……"""
    def new_evil(strEvil):
    	num = strEvil.split(" ")
    	if num[1] == "+":
    		return float(num[0]) + float(num[2])
    	elif num[1] == "-":
    		return float(num[0]) - float(num[2])
    	elif num[1] == "*":
    		return float(num[0]) * float(num[2])
    	elif num[1] == "/":
    		return float(num[0]) / float(num[2])
    	elif num[1] == "%":
    		return float(num[0]) % float(num[2])
    	elif num[1] == "**":
    		return float(num[0]) ** float(num[2])
    	else:
    		return "error operator"
    
    if __name__ == "__main__":
    	while True:
    		strEvil = raw_input("Please enter the eval(q to quit):")
    		if strEvil.lower() =="q":
    			break
    		print "the result is : %d" % (new_evil(strEvil))
    

    7.(a) 为什么下面的例子里 17+32 等于 49, 而 017+32 等于 47, 017+032 等于 41? 

    >>> 17 + 32 
    
    49
    
    >>> 017+ 32 
    47 
    >>> 017 + 032 
    41 
    

      因为他们进制不一样,17+31,两者都是10进制,017 + 32,017是八进制15,017+032(八进制26),两者都是八进制

    (b)为什么下面这个表达式我们得到的结果是 134L 而不是 1342 ?

    >>> 56l + 78l
    134L
    

      因为他们的数据类型是长整型

     8.写一对函数来进行华氏度到摄氏度的转换。转换公式为C = (F - 32) * (5 / 9)应该在这个练习中使用真正的除法, 否则你会得到不正确的结果。

    #coding:utf8
    
    a = raw_input('place enter the temperature:')
    y = (float(a) - 32) * (5.0 / 9.0)
    print y
    

      

    若非特别声明,文章均为Evilxr的个人笔记,转载请注明出处。
  • 相关阅读:
    spring注入原型bean
    按时间间隔查询
    Qconf安装文档
    HttpEnum
    MyIfmHttpClient
    enum StatCode
    Linux修改war包中文件
    maven settings.xml windows
    maven settings.xml linux
    docker报错
  • 原文地址:https://www.cnblogs.com/evilxr/p/3851316.html
Copyright © 2011-2022 走看看