Форум сайта python.su
$ ./proverka.py
a=1
b=-4
c=3
Traceback (most recent call last):
File “./proverka.py”, line 14, in <module>
print koren (a,b,c)
File “./proverka.py”, line 3, in koren
D=b**2-4*a*c
TypeError: unsupported operand type(s) for ** or pow(): ‘str’ and ‘int’
вот код
#! /usr/bin/python
def koren (a,b,c):
D=b**2-4*a*c
if D < 0:
return None,None
x1=(-b+math.sqrt(D))/2*a
x2=(-b-math.sqrt(D))/2*a
return x1,x2
print “x1=”,x1,“\nx2=”,x2
import math
a=raw_input(“a=”)
b=raw_input(“b=”)
c=raw_input(“c=”)
print koren (a,b,c)
Что не так?
насколько я понял его не устраивает,что я использую строковые переменные но как зделать целые или дробные не знаю.
Отредактировано (Март 7, 2008 22:29:06)
Офлайн
Если уверны что будут введены чила, то
a=int( raw_input("a=") )
Офлайн
только не int, а float, судя по контексту решаемой задачи
Офлайн
Спасибо помогло.Как я сам не додумался?
Офлайн
краще використати:
a=input('a=')
Офлайн