活动规则不细讲。
我也不是很清楚,呵呵。网上大把。=.=
### warming up ###
Hint: try to change the URL address.
###
如标题所示,确实是热身题目。
不过也向解题者显示了Python强大的地方:轻而易举地表示一个很大的整型。
很简单是的东西,无需解释。直接上代码。
在python shell中输入即可。
1 print 2 ** 38
输出:274877906944
将浏览器地址栏中的“0”替换为“274877906944”,按回车键即可进入第二题。
第一题结束。
###
# -*- coding: utf-8 -*-
### 题后感 ###
说说python的整数吧。
Python支持五种基本的数字类型,其中有三种是整型类型。
-有符号整型
-长整型:仅受限于用户计算机的虚拟内存数。(后缀L可有可无)
-布尔值
-浮点值
-复数
关于decimal:用于十进制浮点型,使用须先导入decimal模块。
#
数字是不可更改类型,变更数字的值会生成新的对象。
#
关于除法。
对整型操作数,执行“地板除”(商即为地板)。
对浮点操作数,执行真正的除法。
现阶段,可通过“ from __future__ import division”来执行真正的除法。
1 >>> from __future__ import division
2 >>> 1 / 2
3 0.5
4 >>> 1.0 / 2.0
5 0.5
地板除(//):
// : 不管操作数为何种数值类型,均执行地板除。即舍去小数部分,返回数字序列中比真正商小的最接近的数字。
取余:
整型取余比较容易。
浮点型取余:商取小于等于精确值的最大整型的乘积之差,即:x - (math.floor(x/y) * y)
复数取余:类似于浮点型,不同之处在于商仅取实数部分,即:x - (math.floor((x/y).real) * y)
###
困了,笔记几个功能函数就睡觉!!
abs(num)返回给定参数的绝对值。
coerce(num1, num2)仅返回一个包含类型转换完毕的两个数值元素的元组。其中:复数>浮点型>长整型>整型
divmod(num1, num2)把除法和取余运算结合起来,返回一个包含商和余数的元组。
对整型来说,返回值就是地板除和取余操作结果。
对浮点型来说,返回的商部分是 math.floor(num1 / num2)。
对复数来说,商部分是 math.floor((num1 / num2).real)。
pow(num1, num2 [, num3 ]) 与双星号(**)的区别:一个是操作浮,一个是内建函数。另外,pow()可接受第三个可选的参数,如果提供第三个参数num3,则pow()先进行指数运算,然后将运算结果和第三个参数进行取余运算。这个特性主要用于密码运算,且性能高于pow(num1, num2) % num3, 因为这个函数的实现类似于C函数的pow(x, y, z)。
round(num1 [, num2])用于对浮点型进行四舍五入运算,有一个可选的 小数位数参数。如果不提供小数位参数,则返回与第一个参数最接近的整型(但仍然是浮点类型)。
### ### ### ### ### ###
int() 直接截去小数部分(返回值为整型)
floor() 得到最接近原数但小于原数的整型(返回值为浮点型)
round() 得到最接近原数的整型(返回值为浮点型)
### ### ### ### ### ###