python学习009-----python3中的raw_input()和input()【python3中不再使用raw_input()!】 - Go语言中文社区

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))

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Leeeoplod/article/details/89669671
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 21:02:53
  • 阅读 ( 962 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢