Discuss / Python / 输入数字后,第三步报错,请前辈指教

输入数字后,第三步报错,请前辈指教

Topic source

球气

#1 Created at ... [Delete] [Delete and Lock User]

代码如下 a=input ("give a number") b=input ("give me another number") print ("ab=",ab)

blinkzero

#2 Created at ... [Delete] [Delete and Lock User]

a和b是字符串类型的,没办法转换成整形进行运算,做一步转换,而且你输出的时候乘法是不能ab的,应该用ab,计算机不认识这种省略的写法,改成下面的就好了 a=input('a=') b=input('b=') a=int(a) b=int(b) print('ab=',ab)

a=input('a=') b=input('b=') a=int(a) b=int(b) print('ab=',ab) 我就是这么写的,提示如下错误 E:\Python>python ab.py a=10 b=20 Traceback (most recent call last): File "ab.py", line 5, in <module> print('ab',ab) NameError: name 'ab' is not defined 但是换成这样 a=input('a=') b=input('b=') a=int(a) b=int(b) print('ab=',a*b) 结果就对了 E:\Python>python ab.py a=10 b=20 ab=200

Wooya君

#4 Created at ... [Delete] [Delete and Lock User]

在python里a*b是不能简写为ab的,计算机会把ab当作是一个新的未定义的变量. 通过input()语句,赋给a,b的值是str类型,str类型的值是不能做乘法运算的,要用int()转换为int类型再做运算.

可以这样写:

a = input('a = ')
b = input('b = ')
print('ab =',int(a) * int(b))

或是可以让程序在一开始赋值时就得到的是int类型的值

a = int(input('a = '))
b = int(input('b = '))
print('ab =',a * b)

  • 1

Reply