python学习009-----python3中的raw_input()和input()【python3中不再使用raw_input()!】

今天在敲代码的时候发现课本中的“raw_input()”竟然报错了,查阅后发现python3中已经停止了对“raw_input()”函数的使用,之前“raw_input()”的功能合并到了"input()"函数中。
           对于还在使用python2的朋友来说,“raw_input()”和“input()”的主要区别在于:对于输入的数据,前者返回的是string(字符串类型),后者返回的是数据类型(如:int、float等)。如输入数据【5+3】,对于“raw_input()”,则会输出【‘5+3’】,而对于“input()”,则会输出【‘8’】。
           而在python3中:"input()"接受任意输入, 将所有输入默认为字符串处理,并返回字符串类型。当输入【5+3】时,不再输出为【‘8’】,而是将输入作为字符串处理,直接输出【‘5+3’】,这点要注意。如果想继续像python2一样直接输出计算结果,应该怎么做呢?下面是简单示例:

print("你叫什么名字?"),
name = input()
print("这是你的第几篇博客?"),
num = input()
print("博客的内容是关于哪方面的?"),
aspect = input()

print("大家好,我是 %r ,这是我第 %r 篇关于 %r 的学习博客."%(name,num,aspect))

输入数据依次为:
湖水微澜
5+4
python

运行结果如图:

            如果想让input()在输入时,像python2一样对数字做计算,而不是输出字符串,可以在输出( print )中使用eval()函数,详见下面的示例:

print("你叫什么名字?"),
name = input()
print("这是你的第几篇博客?"),
num = input()
print("博客的内容是关于哪方面的?"),
aspect = input()

print("大家好,我是 %r ,这是我第 %r 篇关于 %r 的学习博客."%(name,eval(num),aspect))

在代码最后一行末尾,将原来的【num】,改为了【eval(num)】,运行结果如下:

PS:上面的代码有些臃肿,实际上简化为如下最佳:

name = input("你叫什么名字?")
num = input("这是你的第几篇博客?")
aspect = input("博客的内容是关于哪方面的?")

print("大家好,我是 %r ,这是我第 %r 篇关于 %r 的学习博客."%(name,eval(num),aspect))

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值