Python -- raw_input() and input() -- ACM

Author: LiChong0309
Label: ACM 、Python

1. The problem of “A+B+C”

1.1 Topic

输入为一行,包括了用空格分隔的三个整数 A、B、C(数据范围均在-4040 ~ 4040 之间)。输出为一行,为“A+B+C”的计算结果。

1.2 Sample input

22 1 3

1.3 Sample output

26

1.4 Code

lis =  raw_input().split(' ')
sum = 0
for i in lis:
    sum = sum + int(i)
print(sum)

(1)split()函数表示指定分隔符对字符串进行分片。
(2)raw_input()函数会将所有的输入看作字符串看待,返回字符类型。split()函数将字符串分片之后,所产生的列表还是字符串类型,所以要将分片后的字符串转换为int型才能进行运算。

1.5 raw_input() and input()

1.5.1 raw_input()

raw_input()函数将任何输入作为字符串类型看待,返回字符串类型。如下图所示,此时输入的不能看作是三个数字,而是一个包含数字和空格的字符串12_34_5

这里写图片描述

再查看切片之后lis的数据类型,此时的lis为list类型

这里写图片描述

再查看lis中每个元素的类型,此时为str类型。

这里写图片描述

1.5.2 input()

我是将input()函数看作是raw_input()函数的升级版的,input()函数没有将所有的输入看作是字符串类型,而是包含了丰富的数据类型,比如int,float,string等等。当输入的是字符串类型的时候,要加上双引号。所以input()可以接受合法的python表达式,比如input(1 + 3),会返回一个int类型的4。
当输入字符串的时候没有带双引号的时候,会出现一个SyntaxError(语法错误)的错误。

这里写图片描述

这里写图片描述

2. Python2 、Python 3中的raw_input()和input()

对于python的开发者来说,他们的设计思想就是一个问题只用一种方法解决就好了,所以在python3中,python的开发者索性就把raw_input()函数舍去了。在python3中使用raw_input的话,会有一个错误:
name 'raw_input' is not defined
解决方法:raw_input该用为input即可。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值