初学Python新手问题

初学python按新手教程写了个如下的代码height=input("Pleaseentertheheight:")width=input("Pleaseenterthe... 初学python
按新手教程写了个如下的代码
height = input("Please enter the height: ")
width = input("Please enter the width: ")
area = height * width
print ("The area is ", area)
为什么运行后,输入数字,都提示错误TypeError: can't multiply sequence by non-int of type 'str'
我用的是官方的Python3.1.1版本
展开
 我来答
蒲公英随风飘舞哈
2009-09-21 · TA获得超过1431个赞
知道小有建树答主
回答量:324
采纳率:0%
帮助的人:524万
展开全部
height = eval(input("Please enter the height:"))
width = eval(input("Please enter the width:"))
area = height * width
print ("The area is", area)

python2.x的input(prompt)相当于eval(raw_input(prompt)).

python3.x的input(prompt)则基本等价于raw_input(prompt),所以返回的是一个字符串,你要不eval他,会自动变成一个整形,要不直接强制转换为整形如
height = int(input("Please enter the height:"))
逍月神话
2009-09-21 · 超过10用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:25.8万
展开全部
input()函数输入后事字符串,字符串不能有*运算,你需要把height和width的值都改成数,你可以通过导入模块,然后运用字符串转数字的函数atoi()来转换,3.1版本中做了一些修改,以前atoi是在string模块中,3.1的记不住了,你查一下如果是2.5版本,就可以这样写
import string
height = input("Please enter the height: ")
width = input("Please enter the width: ")
area=string.atoi(‘height’)*string.atoi(‘width’)
我说了,3.1版本的atoi函数不在string模块中,所以你编写的时候上网查一下这个函数在那个模块中,然后用它替换string就行了
当然这个事比较麻烦的做法,简单一点的是直接转换
Int(‘height’)*int(‘width’)
就行了,比较简单
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cb82e02
2009-09-22 · TA获得超过347个赞
知道小有建树答主
回答量:194
采纳率:0%
帮助的人:150万
展开全部
area = int(height)*int(width)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
苦若惜
2009-09-21 · TA获得超过480个赞
知道答主
回答量:43
采纳率:0%
帮助的人:0
展开全部
input()
import string
height = input("Please enter the height: ")
width = input("Please enter the width: ")
area=string.atoi(‘height’)*string.atoi(‘width’)
我是对的!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式