Crossin的编程教室

标题: 新手求助 [打印本页]

作者: pc990504    时间: 2019-3-13 23:56
标题: 新手求助
本帖最后由 pc990504 于 2019-3-14 00:01 编辑

四天前开始看着crossin编程教室学PYTHON,前面感觉不错,虽然偶然因为Python2和Python3的区别有点问题,但现在至少括号问题已经没事了。
但是,从昨天看第14课开始就遇到麻烦了,按照课程里输入,运行时老是出错 ,实在闹不清咋回事,网上搜了一圈 也没找到原因,看我截图的浏览器上面的标签就能看出来。但是在线练习里运行就没事,我把在线练习里代码直接拷贝粘贴到电脑里的IDLE就没法运行。对了,我电脑上装的时Python3.7。具体错误如下图
问题.png

作者: pc990504    时间: 2019-3-13 23:57
额,哪位大神儿帮忙看看咋回事啊,我一个人折腾实在搞不定了。谢谢啦先
作者: stormsha    时间: 2019-3-14 09:39
pc990504 发表于 2019-3-13 23:57
额,哪位大神儿帮忙看看咋回事啊,我一个人折腾实在搞不定了。谢谢啦先 ...

python2  print 'My age is' + str(18)

python3  print('My age is' + str(18))

python2 和 python3 的输出语句的区别就是多了一个(),看到python2的输出,转换到

python3 就整体加上 ()括号

虽然问题简单,但是要学着分析报错

TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

这句话的意思其实还是很直白的,就是,输出语句是 NoneType  它和 字符类型不能相加
简单看一下报错应该能定位到 + 号有问题,那么 你把 + 加号去掉会发现  
print('My age is')  str(18)  这个显然对于python 来说,就是两句可执行语句,怎么能放在一行呢
要么分行
print('My age is')  
str(18)

要么把 第二行和第一行可执行语句合并

简单来说对于 python  ()是一个元组
print  是python的输出语句, 那么这里如果想和第一句合并那么就要了解一下元组的知识
学习知识就应该在简单知识上扩展深度
在复杂知识上思考应用
了解一下元组,(元素,元素, 元素)

()内每个元素使用,隔开就是 元组,这么一推什么python2 和python3的区别都不需要知道
就是要掌握好基础知识的相互关系

结果不就出来了

print('My age is' ,str(18))
元组内元素又可以相加,也可写作

print('My age is' + str(18))

完结

作者: pc990504    时间: 2019-3-14 22:02
stormsha 发表于 2019-3-14 09:39
python2  print 'My age is' + str(18)

python3  print('My age is' + str(18))

谢谢,不厌其烦的解释很清楚。
作者: crossin先生    时间: 2019-4-3 16:09
14课的代码已更新




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5