5.1 整型,讲讲python普通整型与长整型区别

    python整形一共有三种:布尔型,长整型和常规整型。普通型和长整型主要的区别是,能表示的数据位数的不同。

5.2 定义一个函数,用于两个数相乘,并调用这个函数

    

>>> def plusTwo(a,b):

return a * b



>>> plusTwo(3,4)

12

>>> plusTwo("adc",4)

'adcadcadcadc'


 5-3 标准类型运算符. 写一段脚本,输入一个测验成绩,根据下面的标准,输出他的评分
成绩(A-F)。 
A: 90–100 
B: 80–89 
C: 70–79 
D: 60–69 
F: <60

(以下脚本,最好在增加对输入数据的判断!!!!!)

#!/usr/bin/python



def scoreOut(x):

scoreDic = {9:"A",8:"B",7:"C",6:"D"}

score  = x / 10

for item in sorted(scoreDic.keys(),reverse = True):

    if score >= item:

        out = scoreDic[item]

        break

    else:

        out = "F"

return out



if __name__ == "__main__":

        score = input("Enter your number,Please!")

        print "Your level is: %s" % scoreOut(score)


5-4 取余。判断给定年份是否是闰年。使用下面的公式: 
一个闰年就是指它可以被 4 整除,但不能被 100 整除, 或者它既可以被400整(我觉得既可以被4整除又可以被100整除又问题,这样1900年什么的都是闰年了)
除。比如 1992,1996 和 2000 年是闰年,但 1967 和 1900 则不是闰年。下一个是闰年的整世
纪是 2400 年。

#!/usr/bin/python



def leapYear(x):

        if ((x % 4 == 0 and x % 100 != 0) or (x % 400 == 0)):

                return "Yes"

        else:

                return "No"



if __name__ == "__main__":

        year = input("Enter the year,Please!")

        print "Year %d is leap year: %s" % (year,leapYear(year))


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

#!/usr/bin/python



def leastCoin(coinNum):

        #coin 25,10,5,1

        #Get the least coin number

        coin = [25,10,5,1]

        coinN = []

        for item in coin:

                coinN.append(coinNum / item)

                coinNum = coinNum % item

        return coinN



if __name__ == "__main__":

        coin = input("Enter your coin num,Please!")

        coinN = leastCoin(coin)

        print "The least coin for %d is 25:%d,10:%d,5:%d,1:%d" % (coin,coinN[0],coinN[1],coinN[2],coinN[3])



5–9.   数值形式 回答下面关于数值格式的问题: 
 (a) 为什么下面的例子里 17+32 等于 49, 而 017+32 等于 47, 017+032 等于 41? 
>>> 17 + 32 

49

>>> 017+ 32 
47 
>>> 017 + 032 
41 
(b)为什么下面这个表达式我们得到的结果是 134L 而不是 1342 ? 
>>> 56l + 78l (只要有一个数据为长整数,结果均为长整数)
134L

(a)17+32:均为10进制,017+32:八进制017, 017+032:均为8进制

(b)数字类型是长整形而不是字符串


5-12 系统限制。写一段脚本确认一下你的 Python 所能处理的整数,长整数,浮点数和复数的范围

具体可以参见sys+ http://hi.baidu.com/slqbl/item/325325dee0d7a8ee3cc2cbe7


5-17 随机数。熟读随机数模块然后解下面的题: 生成一个有 N 个元素的由随机数 n 组成的列表, 其中 N 和 n 的取值范围分别为: (1 < N <= 100), (0 <= n <=  231  -1)。然后再随机从这个列表中取 N (1 <= N <= 100)个随 机数出来, 对它们排序,然后显示这个子集。

    有关随机数的知识可以参考连接:http://hi.baidu.com/lx58732553/item/a24ef01ee19fc2737b5f2586


#!/usr/bin/python



import random

#random -- the module to generate random number



num = random.randint(1,100)

lst = []

for item in range(num):

        tmp = random.randint(0,(pow(2,31) - 1))

        lst.append(tmp)

lst.sort()

print lst