Malles A, U und V Berechnung

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Malle
User
Beiträge: 29
Registriert: Freitag 11. August 2006, 19:04
Wohnort: Coswig
Kontaktdaten:

Malles A, U und V Berechnung

Beitragvon Malle » Freitag 11. August 2006, 23:20

Das war mein erstes Programm was ich mit Python selbst geschrieben hatte. wollt nur mal wissen was ihr so davon haltet. Aber bedenkt bitte das dass mein erstes selbst geschriebenes Programm ist!
Ps Man beachte daher auch die vielen if's!

Code: Alles auswählen

#!/usr/bin/python

print '''Wilkommen bei Malles U und A Berechnung.'''
print '''Sie koennen das Programm jederzeit beenden indem Sie "ende" Eingeben und Enter druecken'''
print '''Bitte achten sie darauf das die Werte alle die Selben maseinheiten haben'''
print '''Hinweis: der Punkt steht fuer das normale Komma'''

while True:
    AU = raw_input('Geben sie nun "U" fuer Umfang "V" fuer Volumen oder "A" fuer Flaecheninhalt ein und druecken sie Enter ')
    if AU == 'A':
        dr = raw_input('''geben Sie jetzt "dreieck", "rechteck", "quadrat", "rhombus" oder "kreis" ein um den jeweiligen Flaecheninhalt zu berechnen: ''')
        if dr == 'rechteck':
            r = float(raw_input('''laenge: ''')) * float(raw_input('''breite: '''))
            print 'der Flaecheninhalt ist', r
            print 'Sie koennen noch einen weiteren Flaecheninhalt oder Umfang berechnen.'
        if dr == 'quadrat':
            q = (float(raw_input('''laenge: '''))) ** 2
            print 'der Flaecheninhalt ist', q
            print 'Sie koennen noch einen weiteren Flaecheninhalt oder Umfang berechnen.'''
        if dr == 'dreieck':
            d = float(raw_input('''grundseite: ''')) * float(raw_input('''hoehe: ''')) / 2
            print 'der Flaecheninhalt ist', d
            print 'sie koennen noch einen weiteren Flaecheninhalt oder Umfang berechnen'
        if dr == 'kreis':
            k = (float(raw_input('''radius: '''))** 2) * 3.141592654
            print 'der Flaecheninhalt ist', k
            print '''Sie koennen noch einen weiterren Flaecheninhalt oder Umfang berechnen'''
        if dr == 'rhombus':
            r = (float(raw_input('''diagonale 1: ''')) * float(raw_input('''diagonale 2: '''))) / 2
            print 'der Flaecheninhalt ist', r
            print 'Sie koennen noch einen weiteren Flaecheninhalt oder Umfang berechnen'''
        if dr == 'ende':
            break
   
    if AU == 'U':
        um = raw_input('''geben sie jetzt "dreieck", "rechteck", "quadrat", "rhombus" oder "kreis" ein um den jeweiligen Umfang zu berechnen: ''')
        if um == 'rechteck':
            ur = 2 * (float(raw_input('''laenge: ''')) + float(raw_input('''breite: ''')))
            print 'der Umfang betraegt', ur
            print 'sie koennen noch einen weiteren Flaecheninhalt oder Umfang berechnen'
        if um == 'quadrat':
            uq = 4 * (float(raw_input('''laenge: ''')))
            print 'der Umfang betraegt', uq
            print 'Sie koennen noch einen weiteren Flaecheninhalt oder Umfang berechnen'
        if um == 'dreieck':
            ud = float(raw_input('''grundseite: ''')) + float(raw_input(''' zweite Seite: ''')) + float(raw_input('''dritte Seite: '''))
            print 'der Umfang betraegt', ud
            print 'Sie koennen noch einen Weiteren Flaecheninhalt oder Umfang berechnen'
        if um == 'kreis':
            uk = 2 * 3.141592654 * (float(raw_input('''radius: ''')))
            print '''der Umfang betraegt''', uk
            print '''Sie koennen noch einen Weiteren Flaecheninhalt oder Umfang berechnen'''
        if um == 'rhombus':
            ro = float(raw_input('Seite: ')) * 4
            print 'der Umfang betraegt', ro
            print '''Sie koennen noch einen weiteren Flaecheninhalt oder Umfang berechnen'''
        if um == 'ende':
            break

    if AU == 'V':
        vo = raw_input('''geben sie jetzt "quader", "wuerfel", "dreieckseule", "trapetzseule", "pyramide", "tetraeder", "kreiszylinder", "kreiskegel" oder "kugel" ein um das jeweilige Volumen zu berechnen: ''')
        if vo == 'quader':
            qu = float(raw_input('''laenge: ''')) * float(raw_input('''breite: ''')) * float(raw_input('''hoehe: '''))
            v = ['''das Volumen betraegt''', '''Sie koennen noch einen weiteren flaecheninhalt berechnen''']
            print v [0], qu
            print v [1]
        if vo == 'wuerfel':
            wu = (float(raw_input('''Seite: '''))) ** 3
            print v [0], wu
            print v [1]
        if vo == 'dreieckseule':
            ds = (float(raw_input('''1. Kathete: ''')) * float(raw_input('''2. kathete: ''')) * float(raw_input('''hoehe: '''))) / 4
            dse = ds * 1.732050808
            print v [0], dse
            print v [1]
        if vo == 'trapetzseule':
            ts = (float(raw_input('''grundseite Trapez: ''')) + float(raw_input('''Parallele zur Grundseite: '''))) / 2 * float(raw_input('''hoehe grundseite: '''))
            tse = ts * float(raw_input('''hoehe der Saeule: '''))
            print v [0], tse
            print v [1]
        if vo == 'pyramide':
            py = (float(raw_input('''grundkante1: ''')) * float(raw_input('''grundkante2: ''')) * float(raw_input('''hoehe: '''))) / 3
            print v [0], py
            print v [1]
        if vo == 'tetraeder':
            te = (float(raw_input('''1.Seite: ''')) * float(raw_input('''2.Seite: ''')) * float(raw_input('''3.Seite: '''))) / 12 * 1.414213562
            print v [0], te
            print v [1]
        if vo == 'kreiszylinder':
            kz = 3.141592654 * (float(raw_input('''radius: ''')) ** 2) * float(raw_input('''hoehe: '''))
            print v [0], kz
            print v [1]
        if vo == 'kreiskegel':
            kk = (3.141592654 * (float(raw_input('''radius: ''')) ** 2) * float(raw_input('''hoehe: '''))) / 3
            print v [0], kk
            print v [1]
        if vo == 'kugel':
            ku = (4 * 3.141592654 * (float(raw_input('''radius: ''')) ** 3)) / 3
            print v [0], ku
            print v [1]
        if vo == 'ende':
            break
    if AU == 'ende':
        break
   
print 'Danke das sie Malles U, A und V berechnung benutzt haben'


XT@ngel: Code in Python tags gesetzt
Malle
User
Beiträge: 29
Registriert: Freitag 11. August 2006, 19:04
Wohnort: Coswig
Kontaktdaten:

Beitragvon Malle » Freitag 11. August 2006, 23:23

Die Zeileneinrückung muss man sich mal eben dazu denken weil das beim Kopieren schief gegangen ist. sry :oops:
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Beitragvon murph » Freitag 11. August 2006, 23:38

kannst du das ganze noch in code-tags setzen?
wenn du das bearbeitest, bei B, i, u und Quote.
und das wäre doch ganz lieb, wenn die einrückung stimmen würde, da hat man viel schneller die übersicht ;)
Malle
User
Beiträge: 29
Registriert: Freitag 11. August 2006, 19:04
Wohnort: Coswig
Kontaktdaten:

Beitragvon Malle » Freitag 11. August 2006, 23:49

Verdammte sch**** kann nicht einfach mal was Funktionieren wie e geplant ist!!!!!!!!!!
Malle
User
Beiträge: 29
Registriert: Freitag 11. August 2006, 19:04
Wohnort: Coswig
Kontaktdaten:

Beitragvon Malle » Freitag 11. August 2006, 23:52

So aber jetzt hier ein link zu dem Programm

http://10a06.fasthoster.de/MallesAUundVBerechnung.zip
XT@ngel
User
Beiträge: 256
Registriert: Dienstag 6. August 2002, 14:36
Kontaktdaten:

Beitragvon XT@ngel » Freitag 11. August 2006, 23:55

Hab das eben mal für dich erledigt *g*
Wäre nett wenn du bei deinem dritten post den code wieder löschen würdest
damit er nicht doppelt ist?
Oder soll ich den post löschen?
MfG
Andreas
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Beitragvon murph » Samstag 12. August 2006, 12:45

also pi ist auch in math definiert.
ich würde dass lieber benutzen.
Malle
User
Beiträge: 29
Registriert: Freitag 11. August 2006, 19:04
Wohnort: Coswig
Kontaktdaten:

Beitragvon Malle » Samstag 12. August 2006, 16:29

Ich würde ja auch das Pi von math nutzen wenn ich wüsste als was das definiert ist? Ebenfalls wuesste ich gern ob und wenn ja wie ich sinus cosinus und tangens in python nutzen kann?
BlackJack

Beitragvon BlackJack » Samstag 12. August 2006, 17:22

Diese Funktionen sind, wie `pi` auch, im `math` Modul definiert:

Code: Alles auswählen

In [41]: import math

In [42]: dir(math)
Out[42]:
['__doc__',
 '__file__',
 '__name__',
 'acos',
 'asin',
 'atan',
 'atan2',
 'ceil',
 'cos',
 'cosh',
 'degrees',
 'e',
 'exp',
 'fabs',
 'floor',
 'fmod',
 'frexp',
 'hypot',
 'ldexp',
 'log',
 'log10',
 'modf',
 'pi',
 'pow',
 'radians',
 'sin',
 'sinh',
 'sqrt',
 'tan',
 'tanh']
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Beitragvon murph » Samstag 12. August 2006, 19:52

um es noch mal zu verdeutlichen:

Code: Alles auswählen

>>> import math
>>> print math.pi
3.14159265359
Benutzeravatar
Michael Schneider
User
Beiträge: 566
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Bremen
Kontaktdaten:

Beitragvon Michael Schneider » Sonntag 13. August 2006, 08:17

Hi Malle,

interessanter Einsteigercode, hat Ähnlichkeit mit meiner damaligen QBasic-Programmierung - aber da war das fast noch nötig. :-)

Wie wäre es, wenn Du jetzt den optimierten Python-Code mal daneben stellst, wäre ein Klasse Beispiel für Pythons Effizienz? :D

Grüße,
Michael
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Malle
User
Beiträge: 29
Registriert: Freitag 11. August 2006, 19:04
Wohnort: Coswig
Kontaktdaten:

Beitragvon Malle » Sonntag 13. August 2006, 19:45

Danke für die Liste ist echt hilfreich so kann ich auch bei gelegenheit den sinus satz usw. mit einbauen.
Könntest du mir bitte nóch sagen für was die Einzelnen Funktionen da sind?
Ich meine sin cos und tan kann ich mir ja scho denken aber bei log oder log10 hörts dann auf.


Code: Alles auswählen

#!/usr/bin/python
# Malles A, U und V Berechnung 1.2

import math # importiere math
print '''Wilkommen bei Malles U und A Berechnung.'''
print '''Sie koennen das Programm jederzeit beenden indem Sie "ende" Eingeben und Enter druecken'''
print '''Bitte achten sie darauf das die Werte alle die Selben maseinheiten haben'''
print '''Hinweis: der Punkt steht fuer das normale Komma'''

while True:
    AU = raw_input('Geben sie nun "U" fuer Umfang "V" fuer Volumen oder "A" fuer Flaecheninhalt ein und druecken sie Enter ')
    if AU == 'A':
        dr = raw_input('''geben Sie jetzt "dreieck", "rechteck", "quadrat", "rhombus" oder "kreis" ein um den jeweiligen Flaecheninhalt zu berechnen: ''')
        if dr == 'rechteck':
            r = float(raw_input('''laenge: ''')) * float(raw_input('''breite: '''))
            print 'der Flaecheninhalt ist', r
            print 'Sie koennen noch einen weiteren Flaecheninhalt oder Umfang berechnen.'
        if dr == 'quadrat':
            q = (float(raw_input('''laenge: '''))) ** 2
            print 'der Flaecheninhalt ist', q
            print 'Sie koennen noch einen weiteren Flaecheninhalt oder Umfang berechnen.'''
        if dr == 'dreieck':
            d = float(raw_input('''grundseite: ''')) * float(raw_input('''hoehe: ''')) / 2
            print 'der Flaecheninhalt ist', d
            print 'sie koennen noch einen weiteren Flaecheninhalt oder Umfang berechnen'
        if dr == 'kreis':
            k = (float(raw_input('''radius: '''))** 2) * 3.141592654
            print 'der Flaecheninhalt ist', k
            print '''Sie koennen noch einen weiterren Flaecheninhalt oder Umfang berechnen'''
        if dr == 'rhombus':
            r = (float(raw_input('''diagonale 1: ''')) * float(raw_input('''diagonale 2: '''))) / 2
            print 'der Flaecheninhalt ist', r
            print 'Sie koennen noch einen weiteren Flaecheninhalt oder Umfang berechnen'''
        if dr == 'ende':
            break
   
    if AU == 'U':
        um = raw_input('''geben sie jetzt "dreieck", "rechteck", "quadrat", "rhombus" oder "kreis" ein um den jeweiligen Umfang zu berechnen: ''')
        if um == 'rechteck':
            ur = 2 * (float(raw_input('''laenge: ''')) + float(raw_input('''breite: ''')))
            print 'der Umfang betraegt', ur
            print 'sie koennen noch einen weiteren Flaecheninhalt oder Umfang berechnen'
        if um == 'quadrat':
            uq = 4 * (float(raw_input('''laenge: ''')))
            print 'der Umfang betraegt', uq
            print 'Sie koennen noch einen weiteren Flaecheninhalt oder Umfang berechnen'
        if um == 'dreieck':
            ud = float(raw_input('''grundseite: ''')) + float(raw_input(''' zweite Seite: ''')) + float(raw_input('''dritte Seite: '''))
            print 'der Umfang betraegt', ud
            print 'Sie koennen noch einen Weiteren Flaecheninhalt oder Umfang berechnen'
        if um == 'kreis':
            uk = 2 * 3.141592654 * (float(raw_input('''radius: ''')))
            print '''der Umfang betraegt''', uk
            print '''Sie koennen noch einen Weiteren Flaecheninhalt oder Umfang berechnen'''
        if um == 'rhombus':
            ro = float(raw_input('Seite: ')) * 4
            print 'der Umfang betraegt', ro
            print '''Sie koennen noch einen weiteren Flaecheninhalt oder Umfang berechnen'''
        if um == 'ende':
            break

    if AU == 'V':
        vo = raw_input('''geben sie jetzt "quader", "wuerfel", "dreieckseule", "trapetzseule", "pyramide", "tetraeder", "kreiszylinder", "kreiskegel" oder "kugel" ein um das jeweilige Volumen zu berechnen: ''')
        v = ['Das Volumen betraegt: ', 'Sie koennen noch einen weiteren Flaecheninhalt, Umfang oder Volumen berechnen']# hab auch gleich noch einen fehler gefunden...
        if vo == 'quader':
            qu = float(raw_input('''laenge: ''')) * float(raw_input('''breite: ''')) * float(raw_input('''hoehe: '''))#denn meine v liste stand zuerst hier!!!:)
            print v [0], qu
            print v [1]
        if vo == 'wuerfel':
            wu = (float(raw_input('''Seite: '''))) ** 3
            print v [0], wu
            print v [1]
        if vo == 'dreieckseule':
            ds = (float(raw_input('''1. Kathete: ''')) * float(raw_input('''2. kathete: ''')) * float(raw_input('''hoehe: '''))) / 4
            dse = ds * 1.732050808
            print v [0], dse
            print v [1]
        if vo == 'trapetzseule':
            ts = (float(raw_input('''grundseite Trapez: ''')) + float(raw_input('''Parallele zur Grundseite: '''))) / 2 * float(raw_input('''hoehe grundseite: '''))
            tse = ts * float(raw_input('''hoehe der Saeule: '''))
            print v [0], tse
            print v [1]
        if vo == 'pyramide':
            py = (float(raw_input('''grundkante1: ''')) * float(raw_input('''grundkante2: ''')) * float(raw_input('''hoehe: '''))) / 3
            print v [0], py
            print v [1]
        if vo == 'tetraeder':
            te = (float(raw_input('''1.Seite: ''')) * float(raw_input('''2.Seite: ''')) * float(raw_input('''3.Seite: '''))) / 12 * 1.414213562
            print v [0], te
            print v [1]
        if vo == 'kreiszylinder':
            kz = math.pi * (float(raw_input('''radius: ''')) ** 2) * float(raw_input('''hoehe: '''))#Benutzen von math.pi war einfach und ging schnell
            print v [0], kz
            print v [1]
        if vo == 'kreiskegel':
            kk = (math.pi * (float(raw_input('''radius: ''')) ** 2) * float(raw_input('''hoehe: '''))) / 3 #und man kann sich auch nicht vertippen
            print v [0], kk
            print v [1]
        if vo == 'kugel':
            ku = (4 * math.pi * (float(raw_input('''radius: ''')) ** 3)) / 3 #genauso hier
            print v[0], ku
            print v[1]
        if vo == 'ende':
            break
    if AU == 'ende':
        break
   
print 'Danke das sie Malles U, A und V berechnung benutzt haben'
Benutzeravatar
Michael Schneider
User
Beiträge: 566
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Bremen
Kontaktdaten:

Beitragvon Michael Schneider » Sonntag 13. August 2006, 20:20

Hallo Malle,

log und log10 stehen für den natürlichen und dekatischen Logarithmus, die Dir den Exponenten einer Potenz (e^x bzw. 10^x) liefern.
wenn z = log(5) dann e**z = 5
wenn z = log10(5) dann 10**z = 5
Diese und viele andere elementare mathematischen Funktionen werden aber in der einschlägigen Fachliteratur viel besser erklärt.

Grüße,
Michael
Diese Nachricht zersört sich in 5 Sekunden selbst ...
XT@ngel
User
Beiträge: 256
Registriert: Dienstag 6. August 2002, 14:36
Kontaktdaten:

Beitragvon XT@ngel » Sonntag 13. August 2006, 20:50

Die Funktionsnamen sind Abkürzungen der Funktionsnamen auf englisch

Bei log kannst du auch die Basis angeben:

Code: Alles auswählen

log(x[, base])


Ein Beispiel:

Code: Alles auswählen

import math
>>> math.log(25,5)
2.0


25=5^x
da 5^2=25

Code: Alles auswählen

sqrt( x)

Return the square root of x. .Also die Quadratwurzel

radians(x)
konvertriert Grad in Bogemaß

degrees(x)
Von Bogenmaß in Grad

Diese und viele andere elementare mathematischen Funktionen

Und dass, ist wohl eine Frage der Definition was elementar ist :wink:

MfG
Andreas
Malle
User
Beiträge: 29
Registriert: Freitag 11. August 2006, 19:04
Wohnort: Coswig
Kontaktdaten:

Beitragvon Malle » Sonntag 13. August 2006, 22:10

Ich hatte zwar mehr auf eine einfache Liste gehofft aber ich vermute mal das ich das meiste davon sowieso noch nicht brauche.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder