Er muss nicht POSIX konform und auch kein Ersatz zu bc sein, aber er sollte in der Konsole funktionieren und auch unter Windows als CLI Programm verfügbar sein. Was mir bei bc fehlt oder stört wären: 1. keine integrierte Hilfe. 2. Keine Möglichkeit bereits definierte Funktionen oder eingebaute mathematische Funktionen und Variablen einfach auszugeben. Zumindest habe ich keine gefunden. So ne Art "list functions" oder "list vars" wäre schon toll. 3. Zu viele Funktionen muss man sich selber zusammenbasteln, zwar gibt es für GNU bc fertige Bibliotheken zum Downloaden, die man nutzen kann, aber von Haus aus sind die nicht dabei. Will man bspw. nur pi haben, dann ist das nicht definiert, sondern man muss sich pi mit 4+a(1) erst berechnen lassen. 4. Man kann die Eingabe von Zahlen mit unterschiedlicher Basis nicht mischen. Man kann bspw. auf direktem Weg keinen Dezimalwert mit einem Hexwert addieren. Man muss erst die Eingabe auf die Basis 16 stellen, also ibase=16 , dann kann man den Hexwert eingeben und bspw. in eine temp. Variable speichern und anschließend kann man ibase wieder auf Dezimaleingabe ändern und erst jetzt kann man den Dezimalwert mit dem in der Variable gespeicherten und nun in Dezimal geänderten Wert addieren. Es wäre toll, wenn man einfach so etwas wie 0xFBFF + 42 schreiben könnte. Oder bspw. o4 + 42 oder wie in C 04+42 für die Addition einer Oktalzahl mit einer Dezimalzahl. 5. Das im deutschen verwendete Komma bei Dezimalzahlen führt zu einem Syntax Fehler. Es wäre schön, wenn der Dezimalpunkt und das Komma bei der Eingabe gleichermaßen behandelt werden würde. Denn das macht das Copy&Pasten wesentlich einfacher. Zumal das Komma in GNU bc auch keine sonstige Funktion zu haben scheint. Am sinnvollsten wäre es also, wenn einfach die LANG Umgebungsvariable ausgewertet werden würde. Am meisten stört das nämlich, wenn man die Zahlen mit dem Nummernblock eingeben will. Das Komma ist da bei einem deutschen Tastaturlayout in GNU bc nicht zu gebrauchen. 6. Man kann nicht auflisten, wie definierte Funktionen definiert sind. Also der Code aussieht. Und man kann Funktionen auch nicht editieren, sondern lediglich nur überschreiben. 7. Die Eingabe einer Matrix um sie bpsw. mit einem Skalar zu verrechnen geht auch nicht in bequem. 8. Variablen können nicht auf unveränderlich (immutable) gesetzt werden. Bzw. sind es auch nicht sobald man sie definiert hat. Das birgt die Gefahr, dass man sie unbeabsichtigt überschreibt. Das man sie überschreiben kann, kann aber auch Vorteile haben. Ich werde mal testen, ob sich der Python Interpreter als Alternative zu bc missbrauchen lässt. Immerhin kann man bei dem Hex, Oktal und Dezimalwerte gemischt miteinander direkt verrechnen. Wenn da zumindest nicht das Übel unter Windows 10 wäre, dass bei Aufruf von python in einem Terminal der MS Store aufgerufen wird, obwohl man python im Path hat. Was nehmt ihr als schnell zugänglichen Taschenrechner in einer Konsole? Und benutzt ihr den Python Interpreter als Taschenrechner? Falls ja, wo sind eurer Meinung nach da die Probleme?
Ich verwende meistens den PhyxCalc Oder auch gerne den http://qalculate.github.io/downloads.html Es gibt auch noch paar andere die Speziell für Elektronik sind. Wenn Interesse besteht schaue ich mal auf dem Note welcher das ist, welcher ich da meistens verwende.
Vielleicht wäre GNU octave eine Alternative? Nano schrieb: > Am sinnvollsten wäre es also, wenn einfach die LANG Umgebungsvariable > ausgewertet werden würde. LANG wäre die falsche Variable. Das kümmert sich um die Sprache. Für das Zahlenformat ist LC_NUMERIC zuständig. Das wird aber von bc wohl ignoriert, weil dann Skripte, die es nutzen, abhängig vom im System eingestellen Zahlenformat mal funktionieren würden und mal nicht.
:
Bearbeitet durch User
Nano schrieb: > Was nehmt ihr als schnell zugänglichen Taschenrechner in einer Konsole? Matlab. Leider teuer. Auf dem Handy eine TI89-Emulation. Aus Gewohnheit. Nano schrieb: > Python [...] > Wenn da zumindest nicht das Übel unter Windows 10 wäre, dass bei Aufruf > von python in einem Terminal der MS Store aufgerufen wird, obwohl man > python im Path hat. Dagegen suche ich auch noch eine Lösung.
Ich benutze Octave unter cygwin. Erfüllt eigentlich alle von Dir genannten Anforderungen.
Walter T. schrieb: > Nano schrieb: >> Wenn da zumindest nicht das Übel unter Windows 10 wäre, dass bei Aufruf >> von python in einem Terminal der MS Store aufgerufen wird, obwohl man >> python im Path hat. > Dagegen suche ich auch noch eine Lösung. In Windows "Aliase für App-Ausführung verwalten" = "App execution aliases" öffnen und schalter bei Python installer auf Off. Darauf achten, dass "C:\Users\Username\AppData\Local\Microsoft\WindowsApps\" im PATH nicht vor dem richtigen Python Suchpfad liegt.
Nano schrieb: > 5. Das im deutschen verwendete Komma bei Dezimalzahlen führt zu einem > Syntax Fehler. Das ging mir auch auf den Keks. Inzwischen habe ich das Dezimaltrennzeichen in meinen Windows Versionen auf Punkt umgestellt. Jetzt verhalten sich Python, Excel und andere Tool überall gleich. Meine Favoriten sind Python-Console und SpeQ-Mathematics (wird nicht mehr weiterentwickelt, läuft aber noch unter Windows 11)
Wenn du interaktiv mit python arbeiten willst, nimm ipython. 5. ist allerdings unmöglich und 8. ist kompliziert bis unmöglich.
Nano schrieb: > Ich werde mal testen, ob sich der Python Interpreter als Alternative zu > bc missbrauchen lässt. Ich mache das, sehe das aber nicht als Missbrauch :) Beim Start von Python lasse ich ein paar nützliche Module automatisch laden: $PYTHONSTARTUP:
1 | from math import * |
2 | import numpy as np |
3 | import matplotlib.pyplot as plt |
4 | from scipy import constants as const |
5 | from pprint import pprint as pp |
Das erfüllt deine Anforderungen wie folgt: 1. help(x) 2. pp(locals()), auch Tab-Completion hilft oft 3. pi, e und viele andere Funktionen sind bereits in math definiert 4. 123 + 0xabc + 0o654 + 0b1100101 ergibt 3400 5. Du möchtest also statt sum(1.2,3.4,5.6) sum(1,2,3,4,5,5) schreiben? Schwierig ;-) 6. Das geht höchstens mit irgendwelchen Zusatzmodulen, die alle interaktiven Funktionsdefinitionen aufzeichnen. 7. m=np.matrix([[1,2], [3,4]]); 5*m 8. Das geht wohl eher nicht.
Klaus H. schrieb: > In Windows "Aliase für App-Ausführung verwalten" = "App execution > aliases" öffnen und schalter bei Python installer auf Off. > > Darauf achten, dass > "C:\Users\Username\AppData\Local\Microsoft\WindowsApps\" im PATH nicht > vor dem richtigen Python Suchpfad liegt. DANKE! Das hat mir geholfen!
:
Bearbeitet durch User
Patrick L. schrieb: > Ich verwende meistens den PhyxCalc > Oder auch gerne den http://qalculate.github.io/downloads.html > > Es gibt auch noch paar andere die Speziell für Elektronik sind. > > Wenn Interesse besteht schaue ich mal auf dem Note welcher das ist, > welcher ich da meistens verwende. Mir ging es um einen Rechner in der Konsole.
Rolf M. schrieb: > Vielleicht wäre GNU octave eine Alternative? Ebenfalls ein GUI Programm. > > Nano schrieb: >> Am sinnvollsten wäre es also, wenn einfach die LANG Umgebungsvariable >> ausgewertet werden würde. > > LANG wäre die falsche Variable. Das kümmert sich um die Sprache. Für das > Zahlenformat ist LC_NUMERIC zuständig. Das wird aber von bc wohl > ignoriert, weil dann Skripte, die es nutzen, abhängig vom im System > eingestellen Zahlenformat mal funktionieren würden und mal nicht. Ah, okay, dann LC_NUMERIC. Und wegen den Skripten, deswegen wäre es toll, wenn es bc gleichgültig wäre, wenn das nun ein Punkt oder ein Komma ist.
Walter T. schrieb: > Nano schrieb: >> Was nehmt ihr als schnell zugänglichen Taschenrechner in einer Konsole? > > Matlab. Leider teuer. Auf dem Handy eine TI89-Emulation. Aus Gewohnheit. Das ist genauso ein GUI Programm, außerdem will ich dafür kein Geld ausgeben nur um mal ne Taschenrechnerfunktion wie bei GNU bc zu haben. So intensiv brauch ich das dann auch wieder nicht, dass eine vollwertige numerische Software nötig wäre. 3 GUI Programme wurden genannt, Leute, ich suche etwas, was in einer Konsole, also direkt in einem Terminal funktioniert. Dass sollte also auch dann noch gehen, wenn man remote per ssh mit einem externen Rechner verbunden ist und ne Shell wie Bash oder CMD.EXE vor sich hat. Klaus H. schrieb: > Walter T. schrieb: >> Nano schrieb: >>> Wenn da zumindest nicht das Übel unter Windows 10 wäre, dass bei Aufruf >>> von python in einem Terminal der MS Store aufgerufen wird, obwohl man >>> python im Path hat. >> Dagegen suche ich auch noch eine Lösung. > > In Windows "Aliase für App-Ausführung verwalten" = "App execution > aliases" öffnen und schalter bei Python installer auf Off. > > Darauf achten, dass > "C:\Users\Username\AppData\Local\Microsoft\WindowsApps\" im PATH nicht > vor dem richtigen Python Suchpfad liegt. Danke.
Nano schrieb: > ich suche etwas, was in einer > Konsole, also direkt in einem Terminal funktioniert. octave-cli
Yalu X. schrieb: > > $PYTHONSTARTUP: >
1 | > from math import * |
2 | > import numpy as np |
3 | > import matplotlib.pyplot as plt |
4 | > from scipy import constants as const |
5 | > from pprint import pprint as pp |
6 | > |
> ...(gekürzt)
Danke, ich werde das mal mit Python ne Weile versuchen.
Zero V. schrieb: > Nano schrieb: >> ich suche etwas, was in einer >> Konsole, also direkt in einem Terminal funktioniert. > > octave-cli Ah, okay. Danke. Ich kannte es nur als QT und fltk GUI Programm. Aber ja, wenn das direkt in der cli geht und auch unter Windows gehen sollte, dann ist das natürlich auch eine Option, die ich dann mal ausgiebig nutzen werde.
Nano schrieb: > Was nehmt ihr als schnell zugänglichen Taschenrechner in einer Konsole? > Und benutzt ihr den Python Interpreter als Taschenrechner? Falls ja, wo > sind eurer Meinung nach da die Probleme? In meinem Fall kommt es immer darauf an... mal benutze ich den bc(1), mal python(1) und auch mal die Features [1], die mir die bash(1) bietet. All das sollte sich mit dem Windows Subsystem for Linux "WSL2" IMHO leicht installieren und nutzen lassen, aber ich kenne mich mit Windows nicht aus und kann daher nur vermuten. Im Falle von Python ist es natürlich schön, daß ich meine Berechnungen in Funktionen und meine Ein- und Ausgangsgrößen in Variablen speichern und wiederverwenden kann, was bei längeren und / oder komplizierteren Berechnungen durchaus Tipparbeit spart. Obendrein hat Python ein paar feine Features wie List- und Dict-Comprehensions und verschiedene andere Möglichkeiten, mit strukturierten Daten zu arbeiten, also etwa Builtins wie map(), sum() sowie die Funktionen aus den Modulen math und statistics, außerdem natürlich functools.reduce(). Und mit matplotlib, Pandas, Altair, Bokeh und ähnlichen lassen sich verschiedene Daten auch gleich hübsch visualisieren. Noch komfortabler wird es, wenn man anstelle des Standardinterpreters python(1) eine interaktiven Interpreter auf Steroiden benutzt, etwa ipython, bpython oder ptpython, die unterstützen dann auch gleich readline(3), Profiling, und ein paar andere nifty Features, die mir das Leben deutlich einfacher machen. Und je nachdem, wie die Daten vorliegen, kann Python die natürlich auch aus Datenbanken oder Dateien in CSV, JSON, YAML lesen... Das geht dann über einen einfachen Taschenrechner zwar schon hinaus, aber zuviele Features sind ja in der Regel kein allzu großes Problem... [1] https://www.shell-tips.com/bash/math-arithmetic-calculation/
Code aufmachen (läuft eh immer), und STRG-SUPER-ALT-N und neuen Jupyter-Notebook aufmachen. Hat den Vorteil, dass man seine Berechnungen gleich dokumentieren und abspeichern kann. Ein bisschen Text zwischen den Zellen und eine einleitende Erklärung ist nach ein paar Monaten Gold wert... Wenn man sich erst daran mal gewöhnt hat, will man nichts anderes mehr.
Octave, Matlab, Scilab lassen sich alle in der Konsole nutzen.
Nano schrieb: > Was nehmt ihr als schnell zugänglichen Taschenrechner in einer Konsole? Ich finde den ghci ganz gut. Der Vorteil vom bc ist vor allem seine leichte Einbindung in Unterprogramme bzw. Shellskripts. Tatsächlich könnte man (heutzutage) mal schauen, ob das mit den Alternativen nicht ähnlich gut geht - also z.B. Octave, runghc, c-Programm, python(1?,2?,3?) usw.
rbx schrieb: > Ich finde den ghci ganz gut. Ja, den nehme ich hin und wieder auch, vor allem dann, wenn ich eigene Funktionen und Operatoren definieren oder Berechnungen iterieren möchte. Das geht in Haskell (insbesondere im interaktiven Modus) viel leichter als in Python.
rbx schrieb: > Nano schrieb: >> Was nehmt ihr als schnell zugänglichen Taschenrechner in einer Konsole? > > Ich finde den ghci ganz gut. Der Vorteil vom bc ist vor allem seine > leichte Einbindung in Unterprogramme bzw. Shellskripts. > Tatsächlich könnte man (heutzutage) mal schauen, ob das mit den > Alternativen nicht ähnlich gut geht - also z.B. Octave, runghc, > c-Programm, python(1?,2?,3?) usw. Natürlich Python3, alles andere ist EOL. ;-)
Nur_ein_Typ schrieb: > Natürlich Python3, alles andere ist EOL. ;-) Insbesondere Octave ist so etwas von Nicht-EOL.
Andreas S. schrieb: > Nur_ein_Typ schrieb: >> Natürlich Python3, alles andere ist EOL. ;-) > > Insbesondere Octave ist so etwas von Nicht-EOL. Es ist aber auch nicht der Kontext von "python(1?,2?,3?)" meines Vorposters, auf welchen ich mich bezogen habe.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.