for line in lines:
if "曰" in line:
print line,
else:
print line, '\n'
标准库比较多 功能也不同:
标准库
sys
系统相关的参数和函数。 sys 库一般用来访问和修改系统相关信息,比如查看 python 版本、系统环境变量、模块信息和 python 解释器相关信息等等。
os
*** 作系统接口模块。这个库提供了访问 *** 作系统相关依赖的方式,比如输入输出 *** 作、读写 *** 作、 *** 作系统异常错误信息、进程线程管理、文件管理、调度程序等等。
re
正则表达式 *** 作。这个库是我喜欢并且经常会用到的库,在对大量字符串进行处理的时候用正则表达式是最快速有效的方式,但是正则表达式的学习曲线较高,有兴趣的朋友可以访问这个网站学习。
math
数学函数库。 math 库提供了对 C 语言标准定义的数学函数访问,比如数论(Number-theoretic)的各种表示方法、幂和对数函数(Power and logarithmic functions)、三角函数(Trigonometric functions)、常量圆周率(π)和自然常数(e)等等。
random
生成伪随机数。
伪随机数与随机数(真随机数)不同的是执行环境,随机数是真实世界中通过物理过程实践得出结论,而伪随机数是通过计算机的特定算法生成的数,所以这个过程是可预测的、有规律的,只是循环周期较长,并不能与现实场景相切合。
random库提供生成随机数,可以模拟现实世界中随机取数、随机抽奖等等。
logging
日志记录工具。这个库提供了对应用程序和库函数的日志记录,日常开发中我们经常需要通过日志打印出当前程序的运行状态,实时查看可能出现的堆栈异常和错误信息。
json
Json 编码和解码器。 json 库提供了对 json 数据的支持,日常开发中我们做前后端分离需要对传输数据 json 进行序列化和反序列化 *** 作,以保证对数据的完整性和有效性,而序列化和反序列化其实就是编码和解码的过程。
pickle
Python 对象序列化库。 pickle 库支持对 python 对象进行序列化和反序列化 *** 作,当我们需要将处理好的对象保存到文件或数据库中时,就可以将其序列化成二进制数据,从而更好的保存起来。
shelve
Python 对象持久化。简单的数据存储方案。
socket
底层网络接口。 socket(套接字) 库提供了标准的BSD(伯克利套接字) Socket API,可以通过访问底层 *** 作系统 Socket 的相关接口进行网络通讯。
datetime
基本日期和时间类型库。该库提供了各种简单和复杂的方式处理日期和时间,日常我们会用时间测算时间消耗、复杂度,对存储的创建时间和修改时间也需要进一步说明,对计时器的描述和控制也需要用到该库。
hashlib
安全哈希和消息摘要。摘要算法 其实就是对某些数据进行加密(不可逆的加密算法),因为被加密的数据无法破解,所以就能防止被篡改。常见的摘要算法有 MD5、SHA1,一般我们会用 MD5 对用户口令进行加密,防止盗用后被轻易破解;而 SHA1 与 MD5 类似,但是 SHA1 会产生更长的长度,也更安全,但是算法的复杂性通常伴随着存储空间和时间的消耗。要说比SHA1更长的字符长度,还有 SHA224、SHA256、SHA384 和 SHA512,看名字就能知道。
大家都知道无论算法生成的字符长度如何都有可能发生碰撞(被破解),这是不可避免的,所以具体场景具体情况而定。
configparser
配置文件解析器。 configparser 库可以轻松定制配置文件,通过解析配置文件的信息我们就可以全局访问相关配置。
urllib
URL 处理模块。 urllib 库集成了处理 URLs(统一资源定位符)的各种模块:
URL urllibrequest URL robotstxt urllib 库对访问网络有很好的支持,提供了对数据的访问和处理、文件的上传和下载、记录 cookie 和 session 等等。
itertools
为高效循环而创建迭代器的函数。 itertools 库也是经常需要用到,当我们要对某些数进行 for-in 时就需要先将其处理成一个可迭代对象,之后我们才能进行遍历 *** 作。
collections
容器数据类型库。 collections 库提供了对所有容器数据类型的支持,包括 dict, list, set 和 tuple。我们可以用此库对不同数据类型进行 *** 作,常有的函数方法有这些:
namedtuple() 创建命名元组子类的工厂函数 deque 类似列表(list)的容器,实现了在两端快速添加(append)和d出(pop) ChainMap 类似字典(dict)的容器类,将多个映射集合到一个视图里面 Counter 字典的子类,提供了可哈希对象的计数功能 OrderedDict 字典的子类,保存了他们被添加的顺序 defaultdict 字典的子类,提供了一个工厂函数,为字典查询提供一个默认值 UserDict 封装了字典对象,简化了字典子类化 UserList 封装了列表对象,简化了列表子类化 UserString 封装了列表对象,简化了字符串子类化 functools
高阶函数和可调用对象上的 *** 作。该库主要调用高阶函数,是常规函数的一种补充。目前库中包含以下几种函数:
cmp_to_key lru_cache total_ordering partial partialmethod reduce singledispatch update_wrapper wraps threading
线程并行库。 threading 库支持线程和多线程的 *** 作,针对多线程并发的问题可以给数据加同步锁,一次只能让一个线程处理数据,从而避免出现数据读写混乱。
在 CPython 解释器上,因为GIL(全局解释器锁)锁机制的存在的,被设计成线程安全,所以同一时间只能执行一个线程,这就导致了多线程不能发挥出计算机的多核特性。
multiprocessing
进程并行库。 multiprocessing 库与 threading 库很类似,不同的是进程库可以创建子进程避开 GIL,从而弥补线程库存在的劣势和发挥计算机的多核特性。
timeit
测量小代码片段的执行时间。此库主要用来计算运行代码的时间消耗,支持多种方式传入参数。
atexit
退出处理器。当处理一个函数需要立马退出时可以使用该库。
abc
抽象基类。 abc 库定义抽象基类,以便其他类派生出新类。比如 collections 容器库中就有此派生出的 collectionsabc 类,派生出来的类可以进一步实现。
asyncio
异步IO库。 asyncio 库是一个用 async/await 关键字编写并发的库,为多个异步框架提供基础功能,能够实现高性能的网络、Web服务器、数据库连接和分布式任务队列等。
copy
浅层和深层复制 *** 作。 copy 库提供对对象的拷贝,我们都知道要制作对象副本,是无法通过简单值传递创建新变量的方式做到,因为新变量所指向的内存空间依旧是原对象本身,所以对新变量进行任何 *** 作都会改变原对象。那么, copy 库就提供了制作对象副本的各种方法,会开辟一个新的内存空间存放副本对象,修改 *** 作不会对原对象有任何干预。
csv
csv(Comma Separated Values)文件读写库。此库支持以纯文本的形式存储表格数据(数字和文本)。
operator
标准运算符替代函数库。此库是将 python 自有的运算符作为有效函数,比如表达式 x+y 可以用函数 operatoradd(x, y) 表示;比如表达式 ab 可以用函数 operatormul(a, b) 表示,等等。
enum
枚举库。 enum 库支持创建枚举类来存储大量同类型的不可变常量,以便其他函数调用。创建出来的枚举类是可迭代对象,所以可以用 for-in 枚举出所有常量。
heapq
堆队列算法。这个模块提供了堆队列算法的实现,也称为优先队列算法。优先队列中的每个元素都有各自的优先级,优先级最高的元素最先得到服务。所以当我们要求前n最大/最小值的时候就可以用此算法来实现, heapq 库中也提供了相应函数实现。
>
可以使用Python的循环语句和条件语句来实现这个程序。具体代码如下:
result = [] # 用于存放符合条件的数
for i in range(1, 201): # 循环遍历1到200之间的所有数
if i % 19 == 0: # 判断是否能被19整除
resultappend(str(i)) # 将符合条件的数转换成字符串添加到result列表中
output = ', 'join(result) # 将result列表中的数以逗号隔开组成一个字符串
print(output) # 输出结果
程序首先定义了一个空列表result用于存放符合条件的数。然后使用for循环遍历1到200之间的所有数,使用if条件语句判断是否能被19整除,如果符合条件就将该数转换成字符串并添加到result列表中。最后使用join方法将result列表中的数以逗号隔开组成一个字符串,并使用print函数输出结果。
1 #!/usr/bin/env python3
2 # coding=utf-8
3
4 def fun2(n):
5 i = 1; j = 0; res = []
6 while i <= n:
7 if i % 3 == 0:
8 resappend(i)
9 j = j + 1
10 i = i + 1
11 return res
12
13 import sys
14
15 print("请输入n:")
16 n = int(sysstdinreadline())
17
18 print("1到", n, "之间能被3整除的数为:")
19 for n in fun2(n):
20 print(n)
假设竞赛两组分别为A,B
假定A赢得比赛,则分别有:
第三盘胜利赢得比赛 一种可能
第四盘胜利赢得比赛,则有三种可能
第五盘获得胜利,有六种可能
总共结果是10盘,再换成B赢得比赛,结果是10
总共20
第六盘获得胜利,则胜利方最后一盘赢得比赛,这表明另一方在前面已经赢得三盘,表示A赢的前提是B赢,与事实矛盾,说明bo6赢三盘的情况并不存在,前提应该是bo5
程序如下:
程序
如果有前提A是胜者组,胜利条件为3,B是败者组,胜利条件为4,则只需要将dfs中判断anscount(2) ==3 改成 ==4即可。结果总共有35种
时间限制:10s 内存限制:2560MB
某个抽卡游戏卡池抽出限定卡的概率为p,该游戏有一个“井”的机制,抽满k次卡后直接送这张限定卡。试求获得这张限定卡需要的期望抽卡次数。输入为一行,用空格隔开的p和k。输出为一行,即期望抽卡次数,取2位小数
样例输入
0005 250
样例输出
14288
样例说明
第1次抽到的概率为0005
第2次抽到的概率为(1-0005)0005
第n次抽到的概率为(1-0005)^(n-1)0005
第250抽到的概率为之前都没有抽到的概率,即(1-0005)^249
最终结果
10005+2(1-0005)0005+…+n(1-0005)(n-1)0005+…+250(1-0005)249=14288
数据规模和约定
请使用double类型存储所有浮点数变量
对60%的测试点,保证k≤1000,
对100%的测试点,保证k≤1000000。
如果程序过于低效,在k较大时会因超时而错误。
解题思路:
为了防止超时,这里不能使用递归(我猜递归会超时),而是使用pow函数加上for循环,每次的结果都是通过cul函数计算得出,for循环相加即可,最后一项单独拿出来相加,代码如下:
#include<bits/stdc++h>
using namespace std;
double cul(double p, int n){
return p pow ((1 - p), (n - 1)) n;
}
int main(){
double p;
int n;
cin >> p >> n;
double res = 0;
for(int i = 0 ; i < n - 1; i ++){
res += cul(p, i + 1);
}
res += n pow((1 - p), n - 1);
cout << setiosflags(ios::fixed) << setiosflags(ios::right) << setprecision(2);//限制输出位数
cout << res << endl;
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
文章知识点与官方知识档案匹配
算法技能树首页概览
34613 人正在系统学习中
打开CSDN APP,看更多技术内容
C++实现最基础抽奖程序_数据库Joy的博客_抽奖c++
#include<iostream>#include<cstring>#include<cstdio>#include<stdlibh>#include<unistdh>#includeusingnamespacestd;intr[10];intmain(){cout<<"抽奖游戏:从1-10抽个数"<<endl;r[0]=1;r[1]=2;r[2]=3;r[3]=4;r[4
继续访问
模拟抽奖过程的C语言程序设计,C++抽奖程序实现方法_富聪的博客-CSDN博
本文实例讲述了C++抽奖程序实现方法。分享给大家供大家参考。具体实现方法如下: 一、int rand()可以生成从[0,65536)之间均匀分布的随机数。 现要求实现:有30万员工,使用rand()写一个抽奖程序,抽出人100获奖。 #include #include using
继续访问
一个C++卡片游戏示例(含代码及运行结果)
这是一个卡片游戏示例,运用游戏引擎框架开发而成,可供有兴趣学习游戏编程的网友们提供示例帮助。
算法真题01 - 从n个数中等概率抽取m个数,抽奖程序
学习需要总结,今天抽空总结一下最近面试碰到的原题。 因为有些公司明确要求用c/c++,所以平时多练习c++,python暂时不写了。(我现在的想法:python用来高效率的开发或则深度学习;c++用来高性能的编程,刷题,量化交易等;java用来开发大型项目,前端后端框架等。目前以练习c++为主) 这些博客将以半日记半教程的形式出现,有缘的朋友可以看看,或提些意见;另外也当作自娱自乐,学习总结好了。
继续访问
C++ 控制台实现产生抽奖随机数_codekun的博客
C++ 控制台实现产生抽奖随机数 闲来无事,学到了Rand函数的用法,于是想到实现一个控制台抽奖的程序 程序功能比较简单,输入一个数值作为随机数的范围,为[1,range],通过不断按回车产生随机数,停止回车时固定。通过system(“cls”)实现清除
继续访问
c++游戏开发案例源代码_实战案例
以上就是关于帮忙用Python写个简单的程序全部的内容,包括:帮忙用Python写个简单的程序、python哪些标准库、python程序的做法输入200以内能被19整除的正整数并且中间用逗号隔开等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)