帮忙用Python写个简单的程序

帮忙用Python写个简单的程序,第1张

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整除的正整数并且中间用逗号隔开等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9422757.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存