首先,我们知道input()raw_input()都是用来获取控制台的输入,当然输入的时候可以加上输入提示信息:




        a = raw_input("Please input a:")


        b = input("Please input b:")




那么这两者有什么区别呢?





input()支持用户输入数字或者表达式,不支持输入字符串,返回的是数字类型的数值。 而raw_input()捕获的是最原始的输入,也就是说返回的是一个字符串,所以如果输入的是数字,那么我们必须要进行强制转换。例如:




        a = int(raw_input("Please input the number a:"))



其实input()本质上还是使用raw_input()来实现的,只是调用完raw_input()之后再调用eval()函数,所以,除非对input()有特别需要,否则一般情况下我们都是推荐使用raw_input()来与用户交互。

 

map接收一个函数和一个可迭代对象(如列表)作为参数,用函数处理每个元素,然后返回新的列表。  

ACM有时需要要a b c这样的一行格式输入,这时就用map函数来处理,这里假设a,b,c都是整数。

a,b,c = map(int, raw_input().split()),raw_input函数输入的是字符串,字符串的split方法用来将字符串分割成序列。