Python 3.5 基于ACM问题的语法笔记
2016-05-17 14:33
519 查看
于是,上风一拍脑袋,高考又要换语言了,这次据说是有趣的Python。然而,学起来并不有趣,尤其有着Pascal般严格的语法基础的时候,很是悻悻然的样子。据说py3不兼容于py2,然后py4也将不兼容于py3,这是真的么???
标准输入用
当有多个测试数据的时候,需要循环读入:
另外,一个
输入和输出
输出用print(),很多书上都讲得很细
标准输入用
input(),输入的数据都是字符串,ACM题目大多数都是整数处理,输入数据见都是空白符分隔,对于C/C++而言,直接scanf/cin就可以逐个以整数的形式输入。python对于这样的输入数据就要特别进行处理:以空白符分割输入数据。于是,一个A+B Problem就不得不用到Python的“数组”:
x = input().split() a = int(x[0]) #第一个整数 b = int(x[1]) #第二个整数 print(a+b)
当有多个测试数据的时候,需要循环读入:
x = input() a = [] for i in x.split(): a.append(int(i)) print(sum(a))
另外,一个
input()对应输入的一行
数据类型
变量定义
不需要定义变量,更不需要定义变量的类型,直接赋值就行,这点像VB和php数据类型
Numbers: 1234 3.1415 3+4j 0b111 Decimal() Fraction() Strings: 'spam' "Bob's" b'a\x01c' u'sp\xc4m' Lists: [1, [2, 'three'], 4.5] list(range(10)) Dictionaries: {'food': 'spam', 'taste': 'yum'} dict(hours=10) Tuples: (1, 'spam', 4, 'U') tuple('spam') namedtuple Files: open('eggs.txt') open(r'C:\ham.bin', 'wb') Sets: set('abc') {'a', 'b', 'c'} Other: core types Booleans types None
dict用作简单hash表
不需要定义变量,那么要用hash怎么办?比如统计[1,100]内每个整数出现个次数,用hash表多方便啊。C/C++数组可以初始化成0,然后直接a[x] += 1来统计x值得个数,然后py的dict类似于C/C++的set,有key和value键值对,没有设置过键值不能直接用,可以用
in来判断键名是否存在:
a = {} for x in input().split(): if int(x) in a : a[int(x)] += 1 else: a[int(x)] = 1
相关文章推荐
- Python使用xslt提取网页数据
- python py2exe打包matplotlib Could not find the matplotlib data files问题解决
- 通过解析binlog,实现MySQL的flashback功能【python实现】
- python模拟Django框架实例
- [git]安装git-pylint-commit-hook提高python项目中的代码质量
- python采用django框架实现支付宝即时到帐接口
- selenium 速查手册 python版
- python实现欧拉计划25题
- Python 资源大全
- [转] Twitter的分布式自增ID算法Snowflake实现分析及其Java、Php和Python版
- Python关于__init__.py文件用法
- Python多线程编程
- numpy和matplotlib在win下的配置
- C#调用Python脚本的简单示例
- 软件开发过程-Python集成开发环境
- 使用Python访问restAPI接口
- PySide——Python图形化界面入门教程(三)
- 图文详解WinPE下安装Python
- Python 装饰器简单介绍
- Python全栈开发之6、正则表达式