输入输出

input() 输入

Python3 中 input() 函数接受一个标准输入数据,返回为 string 类型。以换行(\n)结束。

input([prompt])
  • prompt: 提示信息。

split() 用于输入

split() 做输入处理,通过指定分隔符对字符串进行切片,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。

str.split(str="", num=string.count(str))
  • str:分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
  • num:分割次数,默认为 \(-1\) ,即分隔所有。

逐个数据输入

x = input().split()  # 输入两个整数
a = int(x[0]) # 第一个整数
b = int(x[1]) # 第二个整数

数组输入

x = input()
a = []
for i in x.split():
a.append(int(i)) # 注意数据类型转换

strip() 输入清理

Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。注意只能删除开头和结尾的字符,不能删除中间部分的字符。

str.strip([chars])
  • chars:移除字符串头尾指定的字符序列。注意移除尾部字符序列时为反向,对称删除。

逐个数据输入

a = int(input().strip())

print() 输入

print(a)

如果不想换行:

print(a, end='str')  # 输出不换行,以 str 为分割

sort 排序

可以用 list 和 truple 实现 C/C++ 中结构体排序的功能。

lst = [('d', 2), ('a', 4), ('b', 3), ('c', 2)]

# 按照value排序
lst.sort(key=lambda k: k[1])
print(lst) # 按照key排序
lst.sort(key=lambda k: k[0])
print(lst) # 先按value排序再按key排序
lst.sort(key=lambda k: (k[1], k[0]))
print(lst) """输出
[('d', 2), ('c', 2), ('b', 3), ('a', 4)]
[('a', 4), ('b', 3), ('c', 2), ('d', 2)]
[('c', 2), ('d', 2), ('b', 3), ('a', 4)]
"""

更加复杂的需求。首先我们先建立如下 list :

lst = [{'level': 19, 'star': 36, 'time': 1},
{'level': 20, 'star': 40, 'time': 2},
{'level': 20, 'star': 40, 'time': 3},
{'level': 20, 'star': 40, 'time': 4},
{'level': 20, 'star': 40, 'time': 5},
{'level': 18, 'star': 40, 'time': 1}]

排序需求为:level 越大越靠前;level 相同,star 越大越靠前;level 和 star 相同,time 越小越靠前。

# 注意按照需求反向实现
# 先按time排序
lst.sort(key=lambda k: (k.get('time', 0))) # 再按照level和star顺序
# reverse=True表示反序排列,默认正序排列
lst.sort(key=lambda k: (k.get('level', 0), k.get('star', 0)), reverse=True)

Python 写 ACM 题目的一些技巧的更多相关文章

  1. 教你用python写:HDU刷题神器

    声明:本文以学习为目的,请不要影响他人正常判题 HDU刷题神器,早已被前辈们做出来了,不过没有见过用python写的.大一的时候见识了学长写这个,当时还是一脸懵逼,只知道这玩意儿好屌-.时隔一年,决定 ...

  2. 「懒惰的美德」我用 python 写了个自动生成给文档生成索引的脚本

    我用 python 写了一个自动生成索引的脚本 简介:为了刷算法题,建了一个 GitHub仓库:PiperLiu / ACMOI_Journey,记录自己的刷题轨迹,并总结一下方法.心得.想到一个需求 ...

  3. 开发记录_自学Python写爬虫程序爬取csdn个人博客信息

    每天刷开csdn的博客,看到一整个页面,其实对我而言,我只想看看访问量有没有上涨而已... 于是萌生了一个想法: 想写一个爬虫程序把csdn博客上边的访问量和评论数都爬下来. 打算通过网络各种搜集资料 ...

  4. python爬虫抓站的一些技巧总结

    使用python爬虫抓站的一些技巧总结:进阶篇 一.gzip/deflate支持现在的网页普遍支持gzip压缩,这往往可以解决大量传输时间,以VeryCD的主页为例,未压缩版本247K,压缩了以后45 ...

  5. Python 内编写类的各种技巧和方法

    Python 内编写类的各种技巧和方法 简介 有关 Python 内编写类的各种技巧和方法(构建和初始化.重载操作符.类描述.属性访问控制.自定义序列.反射机制.可调用对象.上下文管理.构建描述符对象 ...

  6. 作业1+2.四则运算(改进后完整版,用python写的)_064121陶源

    概述: 用一个星期加上五一的三天假期自学了python,在Mac系统上重新写出了四则运算的程序,编译器是PyCharm,相当于完成了作业2.d)"选一个你从来没有学过的编程语言,试一试实现基 ...

  7. 转载:用python爬虫抓站的一些技巧总结

    原文链接:http://www.pythonclub.org/python-network-application/observer-spider 原文的名称虽然用了<用python爬虫抓站的一 ...

  8. Python中编写类的各种技巧和方法

    简介 有关 Python 内编写类的各种技巧和方法(构建和初始化.重载操作符.类描述.属性访问控制.自定义序列.反射机制.可调用对象.上下文管理.构建描述符对象.Pickling). 你可以把它当作一 ...

  9. 用python爬虫抓站的一些技巧总结 zz

    用python爬虫抓站的一些技巧总结 zz 学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,写过在discuz论坛中自动登录自动发贴的脚本,写过自动收邮件的脚本, ...

随机推荐

  1. selenium与页面交互之一:webdriver浏览器的属性

    selenium提供了许多API方法与页面进行交互,如点击.键盘输入.打开关闭网页.输入文字等. webdriver对浏览器提供了很多属性来对浏览器进行操作,常用的如图: get(url).quit( ...

  2. uni-app导航栏配置

    uni-app写app的内容会与沉浸栏重合在一起,写好好多,都是有点问题的,这次终于找到解决的方法了,与大家分享一下 最简单的解决方式就是配置mainfest.json来关闭沉浸式.即通过打开应用的m ...

  3. 升级完pip后出错:Traceback (most recent call last): File "/usr/bin/pip", line 11, in <module> sys.exit(__main__.main())

    今天在ubuntu上升级了pip,之后执行pip命令的时候就报错了: Traceback (most recent call last):   File "/usr/bin/pip" ...

  4. C Make a Square Educational Codeforces Round 42 (Rated for Div. 2) (暴力枚举,字符串匹配)

    C. Make a Square time limit per test2 seconds memory limit per test256 megabytes inputstandard input ...

  5. 【LeetCode】堆 heap(共31题)

    链接:https://leetcode.com/tag/heap/ [23] Merge k Sorted Lists [215] Kth Largest Element in an Array (无 ...

  6. CSS基础-如何用border写三角形?

    1.常用的border的单值属性(border指的是边框.) /*边框样式属性*/ border-style: solid; /*边框颜色*/ border-color: #06a43a; /*边框宽 ...

  7. 'gbk' codec can't decode byte 0xad in position 12: illegal multibyte sequence

    原文链接:https://blog.csdn.net/shijing_0214/article/details/51971734 使用python的时候,经常会遇到文本编码的问题,其中最常见的就是“' ...

  8. Python 3标准库课件

    开课前的一些讲话: 一.大家晚上好,首先非常的荣幸能够在网易云平台开设讲解Python的这门课程,我也是第一次讲解哦,下面说说我讲解课程的原因,1.因为我发现市场上讲解Python的课程很多,不过,大 ...

  9. 关于AES加密CryptoJS

    import * as CryptoJS from 'crypto-js'; let AuthTokenKey = "XXX"; //AES密钥let AuthTokenIv = ...

  10. web开发常见的几大安全问题

    一.SQL注入 SQL注入是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击.SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求 ...