我刚开始从书中学习Python。但是当我运行我的脚本时,我一直遇到同样的问题,它说:
File "C:/Users/bob/Desktop/Python/Part3 A.py", line 8, in <module> print(' the average is: ', avg())
File "C:/Users/Bob/Desktop/Python/Part3 A.py", line 6, in avg average = a + b + c / 3
TypeError: unsupported operand type(s) for /: 'str' and 'int'
我安装了#34; Pycharm&#34;错?
这是我的代码
def avg():
a = input('please enter a: ')
b = input('please enter b: ')
c = input('please enter c: ')
average = a + b + c / 3
print(' the average is: ', avg())
答案 0 :(得分:4)
我安装“Pycharm”错了吗?没有
python 3中的 input
返回一个字符串
a = int(input("please enter a:")) #this will make the input an integer
# warning if the user enters invalid input it will raise an error
应该可以正常工作
您还应将打印行更改为
print(' the average is: ', avgerage)
计算平均值时,还需要注意操作顺序
average = (a + b + c) / 3
是你想要的
你也有缩进问题,但我很确定这会导致你复制和粘贴错误...否则你会有不同的错误
答案 1 :(得分:1)
您正在尝试将字符串除以整数。 您需要将输入转换为整数。
def avg():
a = int(input('please enter a: '))
b = int(input('please enter b: '))
c = int(input('please enter c: '))
average = (a + b + c) / 3
return average
print(' the average is: ', avg())
答案 2 :(得分:1)
def avg():
a = intinput('please enter a: ')
b = input('please enter b: ')
c = input('please enter c: ')
average = a + b + c / 3
print(' the average is: ', avg())
试试这个
def avg():
a = input('please enter a: ')
b = input('please enter b: ')
c = input('please enter c: ')
average = int(a) + int(b) + int(c) / 3
print(' the average is: ', avg())
return;
P.S:Python是缩进敏感的
答案 3 :(得分:1)
您有很多错误,如下所示:
def avg():
a = int(input('Please enter a: '))
b = int(input('Please enter b: '))
c = int(input('Please enter c: '))
average = (a + b + c) / 3
print('The average is:', average)
avg() # call function outside
int
。答案 4 :(得分:0)
您正在对字符串输入应用算术运算。在使用
之前将其转换为intint(输入('请输入:'))