Python: str2float und cos?

so, ich hab folgendes problem:
wenn ich das script starte und a b alpha und beta angebe kommt zum ende immer die fehlermeldung
Traceback (most recent call last):
File "E:\Python23\projects\kosinussatz\kosinusscript.py", line 52, in -toplevel-
cc = a*a + b*b - 2*a*b*cos('z')
TypeError: a float is required

wie bekomm ich da n float

thx 4 help
mFg

achja....das soll zur berechnung des cosinussatzes sein aber da fehln noch einige sachen...

da_fighter
Code:
#coded by da_fighter, www.da-fighter.de.vu, 11-22-2004, HH, Ger
from math import * #für kosinus funktionen?
print 'daficos,  version 1.0\n\nBitte  ein der Reihenfolge a, b, c, alpha, beta, gamma eingeben\n\n'
eingabe1= raw_input ('1. Vorgabe: ')
if (eingabe1 == 'a'):
    a = float(raw_input('Der Wert von a: '))
    eingabe2 = raw_input(' Welcher Wert ist noch gegeben(b, c oder bc): ')
    if (eingabe2 == 'b'):
        b = float(raw_input('Der Wert von b: '))
    elif (eingabe2 == 'c'):
      c = float(raw_input('Der Wert von c: '))
    elif (eingabe2 =='bc'):
        b = float(raw_input('Der Wert von b: '))
        c = float(raw_input('Der Wert von c: '))
elif (eingabe1 == 'b'):
    b = float(raw_input('Der Wert von b: '))
    c = float(raw_input('Der Wert von c: '))#dann muss man ja c haben, sonst nochmal von vorne und als erstes a eintragen
    eingabe2 = ''
print 'Da man auf der Tastatur keine griechischen Buchstaben hat, bitte fuer alpha x,\nfuer beta y und fuer gamma z schreiben.\n'
print 'Bitte einfach die Winkel nacheinander eingeben, ohne Komma(Reihenfolge!!!)\n'
winkel = raw_input('Welche Winkel sind gegeben: ')
if (winkel == 'xy'):
    #
    x = float(raw_input('Der Winkel von Alpha: '))         
    y = float(raw_input('Der Winkel von Beta: '))
    #elif (x+y > 180):
    #print 'Error: Die Winkel dürfen zusammen nicht grösser als 180 Grad sein!'
    #
elif (winkel == 'xz'):
    x = float(raw_input('Der Winkel von Alpha: '))
    z = float(raw_input('Der Winkel von Gamma: '))
    #elif (x+z > 180):
    #print 'Error: Die Winkel dürfen zusammen nicht grösser als 180 Grad sein!'
elif (winkel == 'yz'):
    y = float(raw_input('Der Winkel von Beta: '))
    z = float(raw_input('Der Winkel von Gamma: '))
    #elif (y+z > 180):
    #print 'Error: Die Winkel dürfen zusammen nicht grösser als 180 Grad sein!'
elif (winkel == 'xyz'):
    x = float(raw_input('Der Winkel von Alpha: '))
    y = float(raw_input('Der Winkel von Beta: '))
    z = float(raw_input('Der Winkel von Gamma: '))
    #elif (x+y+z > 180):
    #print 'Error: Die Winkel dürfen zusammen nicht grösser als 180 Grad sein!'
if (eingabe1 == 'b' and eingabe2 == 'c'):
    aa = b*b + c*c - 2*b*c*cos(x)
    print sqrt(aa)
elif (eingabe1 == 'a' and eingabe2 == 'c'):
    bb = a*a + c*c - 2*a*c*cos('y')
    print sqrt(bb)
elif (eingabe1 == 'a' and eingabe2 == 'b'):
    cc = a*a + b*b - 2*a*b*cos('z')    
    print sqrt(cc)
 
Zurück
Oben