强制转换字符串函数str

如果我们求2的一百万次方是多少那么我们可以

print(2**1000000)

如果我们要求2的一百万次方有多少位那么我们可以用str函数强制转换成字符串然后len函数计算

代码

print(len(str(2**1000000)))

math模块

几个比较强的

①gcd

求两个数的gcd

import math
print(math.gcd(12,8))

求12和8的最大公约数

②degrees

弧度转换为角度

import math
print(math.degrees(1))

求1的角度值

③factorial

求阶乘

import math
print(math.factorial(100))

求100的阶乘

④log

默认以e为底,包含两个参数(a,b)a是真数b是底数

import math
print(math.log(32,2))

求log2 32

⑤radians

把角度转换成弧度

import math
print(math.radians(30))

random 模块

感觉比较常用的

①random

返回0-1之间的一个随机浮点数

import random
print(random.random())

②uniform

接受两个参数a,b返回[a,b]之间的随机浮点数,如果b小于a那么返回[b,a]

import random
print(random.uniform(1,100)) import random
print(random.uniform(100,1))

③randint

接受两个参数返回[a,b]之间的随机整数,注意这个地方b不能大于a

import random
print(random.randint(1,100))

④randrange

在range里面随机选取一个数

import random
print(random.randrange(1,10,3))

只能随机整数?存疑

⑤choice

随机选取序列中的一个元素

import random
a=['c++','python','c#','c--']
print(random.choice(a))

序列下标含有-1

倒序取元素,正序是从0开始,倒序是从-1开始!!!

无法像c++的string一样直接修改字符串,需要使用list函数转换成序列后进行修改

l='abcd'
s=list(l)
s[-1]='e'
print(s)

从左向右执行类似于对象函数的东西

这些都是不改变原来字符串的操作。

字符串具有不可变性!!!

l='lllljk'
print(l.replace('jk','jc').upper())

类似于c的%

后面无需再加入,直接%即可,前面有类型后面没有类型

print('%.2f' %3.1415)

dir寻找所有可用的东西,help寻找解释

s='abcd'
print(dir(s))
print(help(s.find))

re模块

待填坑

list推导表达式

[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件]

例子

a=[i for i in range(1,100)]
print(a)

字典get函数

避免出现访问错误,第一个参数是显示访问的元素,第二个是如果出错那么返回的默认值

同样可以写成 if else语句

a={'name':'abc','age':'27'}
print(a.get('name','none'))
print(a.get('sex','none'))
print(a['sex'] if 'sex' in a else 'none')

python打表

open函数与close一块使用,输出必须是字符串所以要强制转换

import math
f=open("data.out","w")
a=[math.factorial(i) for i in range(101) if i%2==0]
for jk in a:
f.write(str(jk)+',')
f.close()

打表100以内偶数的阶乘

分数处理

from fractions import Fraction

特点自动约分,支持分数相加相减平方,自动约分浮点数

from fractions import Fraction
print(Fraction(3,4)+Fraction(4,3))
print(Fraction(3.5))

type返回类型

用于返回类型

L=[]
print(type(L))

最新文章

  1. CSS style和HTML style有什么区别?
  2. 使用Java判断字符串中的中文字符数量
  3. 开源分布式实时计算引擎 Iveely Computing 之 本地调试Topology(4)
  4. 进程控制之fork函数
  5. MVC 3.0 在各个版本IIS中的部署
  6. Arcgis 9.3升级Arcgis10.1需要注重的一点
  7. mvc3.0防止跨站点请求伪造(CSRF)攻击
  8. 有感于NC的强大
  9. codeforces 464B Restore Cube
  10. 三思考,实现自己定义404页:Tomcat、SpringMVC精确匹配、重写DispatchServlet
  11. 一些方便的bash命令
  12. Dubbo分布式服务子系统的划分
  13. BZOJ 2959: 长跑 [lct 双连通分量 并查集]
  14. Nginx实现URL重写
  15. Mudo C++网络库第七章学习笔记
  16. List接口:(介绍其下的两个实现类:ArrayList和LinkedList)
  17. 《Python》进程收尾线程初识
  18. BZOJ4816 Sdoi2017数字表格
  19. ORA-01403:no data found 解决办法
  20. npm 镜像修改

热门文章

  1. java7-Fork/Join
  2. 从service启动activity startActivity慢 的解决方案
  3. bzoj1597 [Usaco2008 Mar]土地购买——斜率优化DP
  4. node.js开发错误——DeprecationWarning: Mongoose: mpromise
  5. bzoj 1585: [Usaco2009 Mar]Earthquake Damage 2 地震伤害【最小割】
  6. bzoj 1620: [Usaco2008 Nov]Time Management 时间管理【贪心】
  7. web界面bug-临时
  8. [Qt Creator 快速入门] 第1章 Qt Creator简介
  9. 树形DP UVA 1292 Strategic game
  10. 二分搜索 Codeforces Round #218 (Div. 2) C. Hamburgers