Portál AbcLinuxu, 8. května 2025 22:03
+1
Jako kalkulačka se dá používat celkem libovolný jazyk, ale některé jazyky/nástroje jsou pro výpočty přímo navržené, např. Octave nebo Mathomatic.
echo "input a:input b:? sqr(a^2+b^2)" | gwbasic
$ bc -l scale = 200 4*a(1)A jinak někdy použiju bc, někdy Python, většinou je to jedno a uznávám že je leckdy Python lepší. Jenom bych bc úplně nezavrhoval.
U opravdu velkých čísel si to občas ještě ručně dělím nějakou mocninou desítky.
A proto právě ty programy navržené pro použití jako kalkulačka zobrazují výsledky takto a umožňují různá další formátování:
octave:1> 123*456*789*158 ans = 6.9920e+09
Tak poraď kolegovi v #40 jak to jednoduše používat, aniž by to musel nějak hackovat.
Takže místo aby napsal „12/7“ a stiskl enter, tak si musí nejprve definovat funkci a následně psát „_(12/7)“?
Ještě dokážu pochopit, když někdo řekne: je to sice opruz, ale radši použiji Python, který znám, než abych se učil nějaký jiný jazyk. To jako argument beru. Ale vychvalovat Python jako kalkulačku mi smysl nedává.
Neumíte to někdo nastavit, aby se v každé instanci Python REPLu čísla automaticky formátovala určeným způsobem?Asi to jde, ale trochu hacky, viz tady - zkombinovat 1. a 3. odpověď.
import builtins
import sys
import numbers
__orig_hook = sys.displayhook
def displayhook(value):
if isinstance(value, numbers.Real) and not isinstance(value, numbers.Integral):
builtins._ = value
print("{:.2e}".format(value))
else:
__orig_hook(value)
sys.displayhook = displayhook
>>> 0.1 + 0.2 0.30000000000000004Což je teda možné řešit přes zlomky, ale je to opruz:
>>> from fractions import Fraction >>> float(Fraction(1, 10) + Fraction(1, 5)) 0.3
Asi budem za exota, ale používam konzolovú qalculate.
github.com/AlDanial/cloc v 1.80 T=0.33 s (1112.9 files/s, 186986.8 lines/s)
-----------------------------------------------------------------------------------
Language files blank comment code
-----------------------------------------------------------------------------------
C++ 125 5177 4244 27494
C/C++ Header 128 1497 941 8549
XAML 22 313 107 7570
C# 46 458 319 2066
Markdown 10 176 0 804
XML 15 38 97 610
YAML 9 74 44 425
MSBuild script 3 0 18 357
JSON 6 0 0 234
Windows Resource File 2 15 4 73
PowerShell 2 20 44 65
-----------------------------------------------------------------------------------
SUM: 368 7768 5818 48247
-----------------------------------------------------------------------------------
Pro porovnání zdrojáky KCalc:
github.com/AlDanial/cloc v 1.80 T=0.07 s (782.1 files/s, 235769.4 lines/s)
-----------------------------------------------------------------------------------
Language files blank comment code
-----------------------------------------------------------------------------------
C++ 17 1764 2273 6969
Qt 5 0 0 1862
C/C++ Header 17 371 337 1193
XML 2 2 0 341
CMake 8 53 44 144
Windows Resource File 1 0 0 17
Bourne Shell 1 0 0 5
-----------------------------------------------------------------------------------
SUM: 51 2190 2654 10531
-----------------------------------------------------------------------------------
výstup cloc: Přes co ji generuješ?
cloc
, protože jednak to znám, jednak to tam přímo píše. Ta první řádka výstupu mě ale hodně zmátla, protože jsem ji nedočetl a myslel si tudíž, že následuje rozpis počtu řádků v tom Fizz Buzzu. Pak jsem se divil, proč by někdo srovnával Fizz Buzz s KCalcem a pak už jsem se chytl. Dát do výstupu programu (snad jinam než do helpu) hardcoded adresu repozitáře… Proč? :-/
github.com/AlDanial/cloc
automaticky neplyne, že se použil nástroj, který se jmenuje cloc. Protože jsem nikdy statistiky zdrojového kódu neřešil, tak jsem tenhle nástroj neznal. Proto jsem se zeptal – líná huba holé neštěstí. oryctolagus mi odpověděl a každý další komentář byl zbytečný.
Ještě jednou: reagoval jste na komentář "####" ze 14:07, který vás upozorňoval na řádek
výstup cloc:
který se nachází přímo nad prvním okopírovaným výstupem toho programu, ne na text
github.com/AlDanial/cloc
ve kterém je sice jméno toho programu opravdu dost skryté, ale o kterém ten komentář - který jste označil za nejapný - vůbec nemluvil.
Jste si jist, že reagujete na ten správný komentář?…ve kterém je sice jméno toho programu opravdu dost skryté, ale o kterém ten komentář - který jste označil za nejapný - vůbec nemluvil.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.