Pycharm中的平均函数

时间:2015-03-10 23:09:05

标签: python python-2.7 python-3.x install average

我刚开始从书中学习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()) 

5 个答案:

答案 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
  • 在函数范围内缩进4个空格。
  • 将字符串输入强制转换为内置int
  • 的整数
  • 使用括号,否则PEMDAS数学错误。
  • 最后,递归打印普通的,不要打电话的功能。

答案 4 :(得分:0)

您正在对字符串输入应用算术运算。在使用

之前将其转换为int
  

int(输入('请输入:'))