python在ACM中的输入应用

mod = 2305843008676823040
n,m = map(int, input().strip().split())
print(n,m)
           
data=[]  
for x in input().split():  
    data.append(int(x))  
    
print(data)
for i in range(m):
    ans = 0
    l,r= map(int, input().strip().split())
    #l=l-1
    #r=r-1
    for j in range(r-l+1):
        ans=(ans+data[l+j-1])%mod
        data[l+j-1] = data[l+j-1]*data[l+j-1]%mod
    print(ans)
    

来源:https://blog.csdn.net/luovilonia/article/details/40860323

    # encoding: utf-8
     
    '''
    Created on Nov 6th, 2014
    @author: Speedcell
    '''
     
    '''Python的输入是野生字符串,所以要自己转类型
    strip去掉左右两端的空白符,返回str
    slipt把字符串按空白符拆开,返回[str]
    map把list里面的值映射到指定类型,返回[type]
    EOF用抓异常
    print后面加逗号就不会换行,否则反之,当然3.x君自行传参
    题目细节没看太细,可能有的地方不对,不要在意这些细节啦
    これは以上です'''
     
    # 有多组输入数据,但没有具体的告诉你有多少组,只是让你对应每组输入,应该怎样输出。
     
    while True:
        try:
            a, b = map(int, raw_input().strip().split())
            print a + b,
        except EOFError:
            break
        
    # 输入一个整数,告诉我们接下来有多少组数据,然后在输入每组数据的具体值。
     
    tcase = int(raw_input().strip())
    for case in range(tcase):
        a, b = map(int, raw_input().strip().split())
        print a + b,
        
    # 有多组输入数据,没有具体的告诉你有多少组,但是题目却告诉你遇见什么结束
     
    while True:
        a, b = map(int, raw_input().strip().split())
        if a == 0 and b == 0:
            break
        print a + b,
        
    # 输入有多组,并却题目告诉你每组输入遇见什么结束,与第三种不同之处在于,每组输入都有相应的细化。
        
    tcase = int(raw_input().strip())
    for case in range(tcase):
        a, b = map(int, raw_input().strip().split())
        if a == 0 and b == 0:
            break
        print a + b,
        
    # 这次的输入实现输入一个整数,告诉我们有多少行,在输入每一行。对于每一行的输入,有划分为第一个数和其他的数,第一个数代表那一组数据一共有多少输入。
     
    tcase = int(raw_input().strip())
    for case in range(tcase):
        data = map(int, raw_input().strip().split())
        n, array = data[0], data[1:]
        
        sum = 0
        for i in range(n):
            sum += array[i]
        print sum,
        
    # 有多种输入数据,对于每组输入数据的第一个数代表该组数据接下来要输入数据量
     
    while True:
        try:
            data = map(int, raw_input().strip().split())
            n, array = data[0], data[1:]
                
            sum = 0
            for i in range(n):
                sum += array[i]
            print sum,
        except EOFError:
            raise
        
    # 这道题的输出只是简单的在每组输出后边多加一个换行而已!
     
    while True:
        try:
            a, b = map(int, raw_input().strip().split())
            print a + b
        except EOFError:
            break
        
    # 这种类型的输出注意的就是换行,这类题目说在输出样例中,每组样例之间有什么什么,所以我们在对应输出的同时要判断一下是否是最后一组输出,如果不是,就 将题目所说的东西输出(一般是换行或空格),如果是,就直接结束。
     
    while True:
        data = raw_input().strip()
        if data.isspace():
            break
        else:
            data = map(int, data)
            n, array = data[0], data[1:]
                    
            sum = 0
            for i in range(n):
                sum += array[i]
            print sum,

原文:https://blog.csdn.net/weixin_43892298/article/details/87897578

1.输入

a = input() #默认是字符
a, b, c = input()
a, b, c = map(int, input().split()) #在一行输入多个整型数
a, b, c = map(int, raw_input().split()) # python 2 中的输入
1
2
3
4
2.从句,循环

if i >= 0:

else :
for i in range(3): #注意冒号,相当于 i=0,i=1,i=2
for i in range(1,3): #i=1,i=2
while i >= 0:
1
2
3
4
5
6
3.运算符

and or not #没有 && || !,注意一下区别
/  #数学上的除
// #整除
1
2
3
4.注释

# 单行注释 pycharm中的快捷键 ctrl + /
''' 注释中间的部分 '''
1
2
5.列表(数组)

list = [] #定义
list.append(a) #在数组的末尾添加元素a
list.insert(i,a) #i为在哪一个位置插入a
list.extend([]) # 把某个列表插到list中,参数是一个列表
list.index(a) #在列表中搜索元素a,返回其位置
list.index(a,0,5) #在0,5搜索
list.remove(a) #删除第一个次出现的a
len(list) #列表长度
del list #把list在内存中清除
del list[1] #把list[1]删除
list[1:3] #只是拷贝 list[1],list[2] (3-1=2只有两个元素)
list1 = list[:] #列表拷贝
list2 = list #只是相等,list变,list2也变,只是指定另一个名字罢了
#列表之间的比较 默认从[0]开始
list = list1 + list2 # 合并列表
list * 3
# 列表判断元素
a in list 
a not in list
list.count(a) #a在list中出现的次数
list.reserve() #翻转
list.sort() 
list.sort(reserve = true) #从大到小

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
6.格式化输出

print('%d %d %d'%(a, b, c))//这个很坑呀,(在一个括号内进行多个格式化输出)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值