任务1: 要求从控制台输入两个整数n,m
方法一:
方法一:
方法一:
n,m = map(int,raw_input().split())
方法二:
cin = raw_input().split()
data = map(int,cin)
n = data[0]
m = data[1]
方法三:
cin = raw_input().split()
data = map(int,cin)
n,m = [int(i) for i in data]
任务2:求两个数的最大值(最小值)
_min = min(a,b)
_max = max(a,b)
任务3: 逆序输出数组a['2','1','3','4']
方法一:
print a[::-1]
方法二: for i in reversed(xrange(4)):
print a[i],
方法三:
print a[0:4][::-1]
方法一:
a = range(l,r)
方法二: b = list(xrange(l,r))
其中方法一直接生成一个[l,r)的数组,开辟了[l,r)的空间
而方法二是先生成一个[l,r)的生成器,此时还没有开辟空间,其返回一个
list[l,r)
因此在for循环中,尽量用xrange(n)
任务5: 给定两个数组a,b,判断a[la,ra)是否等于b[lb,rb
if a[la:ra] == b[lb:rb]:
print 'yes'
任务6: 给定两个数组a,b,判断a[i,i+1,...y]==b[y,y-1,y-2,...i] 既a[i]==b[y],a[i+1]==b[y-1].......a[y]==[b[i]
if a[i:y+1] == b[i:y+1][::-1]
任务7: 如何实现C/C++中连续读入直到文件末尾(EOF)结束
import sys
for line in sys.stdin:
print line, # ',' void produce a line by print
任务8: 不引入中间变量如何实现两个数的交换
方法一:
a = 1
b = 8
a,b = b,a
方法二:
a = a^b
b = a^b
a = a^b
解释: b' = a^b^b = a^(b^b) = a^0 = a
a' = a^b^b'= a^b^a = (a^a)^b = 0^b = b
任务9 : 初始化Python数组,一般选择用[]表达式
a = [0 for i in range(n)] #将a[0,n)初始化为0