Уведомления

Группа в Telegram: @pythonsu

#1 Март 7, 2008 22:11:10

falcon
От:
Зарегистрирован: 2008-03-07
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема у новичка

$ ./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)

Офлайн

#2 Март 7, 2008 22:40:45

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

проблема у новичка

Если уверны что будут введены чила, то

a=int( raw_input("a=") )



Офлайн

#3 Март 7, 2008 22:44:22

Frenzy
От:
Зарегистрирован: 2007-11-10
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема у новичка

только не int, а float, судя по контексту решаемой задачи



Офлайн

#4 Март 8, 2008 11:43:57

falcon
От:
Зарегистрирован: 2008-03-07
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема у новичка

Спасибо помогло.Как я сам не додумался?



Офлайн

#5 Март 8, 2008 23:14:12

DOMINUS
От:
Зарегистрирован: 2008-02-15
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема у новичка

краще використати:

a=input('a=')
ця функція повертає відразу int або float залежно від введеного



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version