#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Mon Apr 9 21:30:01 2018
@author: vicky
"""
#例1:a+b
#输入
#1 5
#2 3
#输出
#6
#3
import sys
for line in sys.stdin: #循环读每行
a = line.split() #以列表的形式读入
print(int(a[0])+int(a[1])) #注意要类型转换
#输入不止一行,是每行,读每行数据直到空。加个while就能通过
while True:
try:
a=list(map(int,input().split()))
print(sum(a))
except:
break
import sys
for line in sys.stdin:
a = [int(i) for i in line.split()]
print(a[0] + a[1])
a=input('输入样例')
print(a) #a是string,输入:1 2 3,输出‘1 2 3’
#---------------------------------------------------------------------------------
常用输入!!!
#输入问题input:
#输入以空格为间隔的数组1 2 3。a是string,a=‘1 2 3’
a=input('输入样例')
读一行----------
#法1:split()分割间隔,int()转化成整数格式,[]转化为list
b1=[int(n) for n in input().split()]
#法2:因为int函数不能对列表操作,只能对的单个字符操作,所以用map(int,...)转化为整数;
#另外,如果以其他字符为间隔,如逗号,则其中的split()改为split(‘,’)即可。
#注意,这种方法要得到列表,前面必须加list,map只返回一个map对象
b2 =list(map(int, input().strip().split()))
#print(a,b1,b2) #b1,b2是list。b1=b2=[1,2,3]
读多行----------
#输入:
#3
#1 2 3
#2 1 3
#3 2 1
#读第一行
n=int(input())
l=[]
for i in range(n):
l=l+[int(n) for n in input().split()]
#接着读n行并合并成一个list,l=[1,2,3,2,1,3,3,2,1]
#输出问题:
print(a,b,sep='',end='\n')
#其中,end----指定在参数末尾打印什么,默认换行; sep----指定在参数中间打印什么来间隔,默认空格
#print在Python中默认换行的
#print不换行:
print(a,b,end = '')
#print中间以冒号间隔:
print(a,b,sep= ';')
#将list转换为字符串输出,以逗号连接
print(','.join(str(l[i]) for i in range(k)))
#l=[1,2,3],输出'1,2,3'
#---------------------------------------------------------------------------------
#例2:求n阶方阵所有元素的和
#输入:
#3
#1 2 3
#2 1 3
#3 2 1
#输出:18
import sys
if __name__ == "__main__":
# 读取第一行的n
n = int(sys.stdin.readline().strip())
ans = 0
for i in range(n):
# 读取每一行
line = sys.stdin.readline().strip()
# 把每一行的数字分隔后转化成int列表
values = list(map(int, line.split()))
for v in values:
ans += v
print(ans)
#---------------------------------------------------------------------------------
#输入问题sys:用pycharm运行!!!!
#sys.stdin 标准输入, sys.stdout 标准输出
#readline()从文件读取整行
# eg: fo = open("runoob.txt", "r+") # 打开文件
# line = fo.readline() #读取第一行
# print ("读取第一行 %s" % (line)) #输出:读取第一行 1:www.runoob.com
#strip() 移除字符串头尾指定的字符(默认为空格)
# string.strip([chars]),chars为移除字符串头尾指定的字符
# eg: str = "*****this is string example....wow!!!*****"
# print (str.strip( '*' )) #输出:this is string example....wow!!!
#split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
# 语法:string.split(str="", num=string.count(str))
# eg: str = "this is string example....wow!!!"
# print (str.split( ))
# print (str.split('i',1))
# print (str.split('w'))
#对比input和sys:
#sys.stdin.readline() 仅接受一行的全部输入
#sys.stdin.read()可以接受多行的标准输入
#sys.stdin.read()和input()接受和返回的都是原始字符串
重点!!!!!!
input():遇到输入enter停止输入,返回。返回的结果不包含末尾的换行符'\n'
sys.stdin.read():读取数据 ctrl+d是结束输入 ,enter是换行。故可以接受多行输入
sys.stdin.readline( ) 只接受一行输入,enter是结束。多行输入要写循环读,循环时ctrl+d是结束输入 ,enter是换行。
会将标准输入全部获取,包括末尾的'\n',因此用len计算长度时是把换行符'\n'算进去了的,
可用sys.stdin.readline( ).strip(‘\n’)去掉换行符。遇到enter返回。
#---------------------------------------------------------------------------------
#第一题:幸运时刻的个数 (sys用pycharm运行!!!!)
#输入格式:
#12:21 34:34
#输出格式
#2
import sys
n=sys.stdin.readline().split()
#fo=open('/Users/vicky/Documents/code/python/time.txt')
array = sys.stdin.readline().strip(" ").split()
sum = 0
for j in array:
if j[0]==j[1] and j[3]==j[4]:
sum +=1
elif j[0]==j[3] and j[1]==j[4]:
sum+=1
elif j[0]==j[4] and j[1]==j[3]:
sum+=1
print(sum)
#第二题:奇偶数分解
#输入格式:
#2
#10
#3
#输出格式:(输出最小奇数和对应偶数)
#5 2
#'No'
T = int(input()) #读第一行
m=[]
for i in range(T): #读之后的T行
m.append(int(input())) #int转换后,append用于在list末尾加新对象
for n in m:
if n %2 != 0:
print("No")
k=n
while n%2 == 0: #一直整除2直到n为奇数
n=n/2
print(int(n),int(k/n))
#---------------------------------------------------------------------------------
https://www.zybuluo.com/diyer22/note/310572#python刷oj适合人群
二. 输入部分
1. 只需输入一行
listt = map(lambda x:int(x), input().split())
2. 要输入N行
a = [map(f, input().split()) for i in range(n)]
3. 多样例输入(EOF)
import sys
for line in sys.stdin:
print int(line)**2
三. 输出部分
1. 关于print注意以下几点
1.print(a, b)中,,会被替换为一个空格
2.若打印两个变量不想要中间的空格,则换为print str(a)+str(b)
3.print 函数会自动在行尾添加一个'\n'
4.若不想在行尾换行,可在print语句的最后面添加一个,(但有空格)
5.在for循环中的print,既不想换行也不想要空格,在迭代中无法使用str(a)+str(b),则使用创建空字符串法:
strr = '' # 创建一个空字符串
for i in listt:
strr += i # 依次添加 i,若是数字,记得换为str(i)
print strr # 完美打印
2. 不清楚的格式错误
例:要求输出列表listt中的每一个数字,每个数字间有一个空格,但末尾不能有空格
解:
strr = '' # 创建一个空字符串
for i in listt:
strr += str(i)+' ' # 数字后面加了一个空格
print strr[:-1] # 使用切片,去掉了最后一个空格
3. 对于列表标准输出,懒人专用的一行代码版
print str(a[i]).replace(', ',' ').replace('\'','')[1:-1]+' '
(同时适用于字符串和数字列表)