Python 3.5 基于ACM问题的语法笔记
来源:互联网 发布:输入法 ubuntu 编辑:程序博客网 时间:2024/06/07 05:30
于是,上风一拍脑袋,高考又要换语言了,这次据说是有趣的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') namedtupleFiles: 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
0 0
- Python 3.5 基于ACM问题的语法笔记
- 【学习笔记】python的基础语法
- 【Python语法笔记】列表的copy()函数
- 【Python语法笔记】字符串的操作
- Python语法笔记
- python语法笔记
- python语法笔记
- Python基本语法笔记
- Python基础语法笔记
- Python 语法笔记
- python学习笔记-语法
- python 语法笔记
- python基本语法笔记
- Python基本语法笔记
- Python基础语法笔记
- Python语法笔记
- Python语法笔记
- python语法笔记
- iOS 拨打电话的三种方法
- RxJava入门指引,易懂
- Java获取xml格式字段内容
- jqgrid快速入门之三:单元格输入文字的获取
- NYOJ 1233 差值
- Python 3.5 基于ACM问题的语法笔记
- Combination Sum II
- 数据库优化
- 自定义viewgroup实现ArcMenu
- 架构漫谈(二):认识概念是理解架构的基础
- c++中vector的用法详解
- 【Sass-03】Sass官网文档
- 1001
- jsp基本语法