Python Challenge - 0.py

活动规则不细讲。

我也不是很清楚,呵呵。网上大把。=.=

### 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() 得到最接近原数的整型(返回值为浮点型)

### ### ### ### ### ###

 

你可能感兴趣的:(python)