python 随机数生成_Python在信息学竞赛中的运用,部分思维方式与C++密不可分

前言:

Python是一门无所不能且非常实用的语言,接触了蛮久的python,感觉这门语言只要你仔细琢磨,感觉就可以运用到生活中很多的事件里面去,今天的内容正是讲python在信息学竞赛中的运用,本文主要介绍一下简单的Python用法,不会深入。

da077099e60c8c77f7771394c04f198d.png

首先要明白的一点是,LRJ在《算法竞赛入门经典-训练指南》中所说的一样,如果会用Python,在进行一些小程序的编写,如数据生成器时将会非常方便,它的语法决定了其简约性。

Python的基本语法

下面来介绍一些Python的基本语法

注释

Python中的注释分单行注释和多行注释

print "Hello world" #这是一个单行注释'''这是多行注释是多行注释多行注释行注释注释释。'''

变量及类型

Python的变量声明不需要指定类型

用=来给变量赋值,用法与C++一致。比如

yyb=141905 #这是一个整数lrh=141936.0 #这是一个实数str="This is a apple.I like apples.Apples are good for our health." #这是一个字符串
f40179342c65b68736b1f4336ff3a2a9.png

Python的字符串可以像字符数组一样使用(就像C++一样)比如

str="This is a apple.I like apples.Apples are good for our health."print str[0] #输出第一个字符print str[2:] #输出从第三个字符开始的字符串print str[1:3] #输出从第二个到第三个的字符串,注意是左开右闭

Python的列表可以看做是一个存下任何数据类型(可以混用!)的数组,比如

List=['%',19260817,'frog',666.6]#调用print List[0]print List[2]

Python的字典可以看做是一个映射(类似于C++STL中的map),同样可以混着用

Map={'name':'yyb','weight':'---','height':3.6}#调用的时候可以print Map['name']print Map['yyb']

以上就是Python常用的几种数据类型。

另:Python的数类型是非常大的,不需要手写高精度

数据类型转换(常见)

57f02641fbd928a1609917df9b73dc69.png

标准输入和输出

使用print输出。可以是任意类型(列表和字典都可以哦)

print 123print 'helloworld'print 123.2

使用input输入。

number=input("read a int:")

运算符

+,-,×,/与其意义一致

**表示幂,a**b表示(a^b)

比较运算符(如==,!=,<>)与C++语言一致

位运算(如&,|.~)与C++语言一致

条件语句

即if,基本语法如下:

if a==b: print a+b

注意if后面的冒号,并且注意,Python是以缩进来判断代码块的,也就是说如果要在if中执行多个操作,要这样写

if a==b: print a+b print b+a print a**b

while循环与if的语法非常类似

i=1while i<100: i=i+1

随机数数据生成器中最重要的就是随机数啦,一般来说我会这么写

import randoma=int(random.uniform(1,100)) #这里是生成[1,100]的随机整数#如果不加int强制转换,将会生成随机小数

一般而言,使用Python的好处就是不要像C++一样指定随机数种子,一般取系统时间。而在随机生成数据对拍时1s内随机数种子不会变,这样会导致生成大量重复数据。

文件操作

open用来打开文件

比如下面这个例子

db383c4ee7113313e2da8ad9927d7703.png

以上就是在竞赛时常用的Python语法和技巧。但实际操作时难免会碰到其他问题,更多内容可以参考,你会更多地看到Python的方便之处!

最后,小编想说一句话:我是一名python开发工程师,我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习,面试真题,面试真题,面试真题等。想要这些资料的可以关注小编,并在后台私信小编:“07”即可领取。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值