PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : shell-basierter rechner



Schneemann
14.09.2006, 14:44
da ich öfters mit der konsole arbeite und da hin und wieder auch einen kleinen (keine wissenschaftlichen, einfach nur klein und fein) Rechner. Naja, hab net viel gegooglet, aber da ich eh mal n bissl python proggen wollte, grad einen gecodet.
Ich weiß keine Meisterleistung, aber ich hab kein bock jedes kleines prog von mir auf sf.net anzumelden, damit es jedem zur verfügung steht (was ich meistens aber will).

Also wie schon gesagt es handelt sich um einen kleinen Rechner, der in pyhton programmiert ist und in der konsole läuft. Er kann alle grundrechenarten + modula. und er kann mit klammern. potenz ist noch nicht eingebaut. Falls jmd zufällig den code versteht und ^ added, kann er mir die verbesserung schicken.

Erwarte feedback.

EDIT: Die Zeile 'test = "Hello World!"' kann entfernt werden.
Die aktuelle version gibst immer hier:
http://chrissel.ls4.allbytes.de/tinycalc.py.txt

theton
14.09.2006, 21:35
Hint: Die wissenschaftlichen Rechner wie 'bc' koennen auch ganz normale Grundrechenarten. ;) Und die wissen auch, dass Punkt-Rechnung vor Strichrechnung gilt u.ae. :)



theton@BigTAPS:~> bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
2*2
4

Schneemann
15.09.2006, 14:58
mein rechner kann auch punkt vor strich und außerdem ist es klar das ich mit guten programmen nicht mithalten kann wenn das das erste release ist. Aber ich find mein rechner reicht für mich

Xanti
15.09.2006, 15:19
Wenn ich das richtig sehe, prüft Dein Programm nur die richtige Syntax. Rechnen tut python. ;)

Deine Syntaxprüfung sollte noch etwas verbessert werden:



[tmp]$ ./tinycalc.py
TinyCalc>1+*2
Traceback (most recent call last):
File "./tinycalc.py", line 44, in ?
ergebnis = calc(formel)
File "./tinycalc.py", line 35, in calc
ergebnis = eval(formel)
File "<string>", line 1
1+*2
^
SyntaxError: invalid syntax


Gruss, Xanti

Mµ*e^13.5_?¿
15.09.2006, 15:20
Der Rechner rechnet auch nur mit eval() soweit ich das sehe, warum sollte ich also den und nicht einfach die python-shell benutzen? :think:

Schneemann
16.09.2006, 09:29
ich muss das überprüfen der formel irgendwann ma verbessern.
Also für Leute die Windows haben (wenns hier welche gibt) hab ich auch noch n Windows-Version von TinyCalc. ich weiß das das hier ins forum nicht so gt reinpasst. aber ich hab zum beispiel windows und linux auf meinem pc.