Portál AbcLinuxu, 2. května 2025 15:02
program mala_nasobilka; var f,a,b,c,p,s:integer; pu:real; begin randomize; s:=0; write('Pocet prikladov ? '); readln(p); for f:=1 to p do begin a:=random(11); b:=random(11); write(a,' x ',b,' = '); readln(c); if c = a * b then begin writeln; writeln('spravne'); writeln; inc(s); end else writeln('nespravne'); end; pu:=(s/p) * 100; writeln; writeln('Celkovy pocet prikladov: ',p,' z toho spravnych prikladov ',s,'. Percentualna uspesnost ', pu:2:0, '%'); end.
V pythone by som to robil asi nejak takto (sorry ak tam chybaju nejake medzery a pod., nedaval som na to zas az taky pozor).
import sys import random import operator modX = lambda x: x % 10 + 1 ops = { '+': (operator.add, int, int), '-': (operator.sub, int, int), '*': (operator.mul, modX, modX), '/': (operator.div, int, modX) } print "Vitej, maly poctari. Jsi pripraven na trochu zabavy? (Program ukoncis necelociselnym vstupom.)\n" while True: i1 = random.randint(1,100) i2 = random.randint(1,100) op = random.choice(list(ops)) fop, mod1, mod2 = ops[op] i1 = mod1(i1) i2 = mod2(i2) vysl = fop(i1, i2) try: guess = int(raw_input("%6d\n%6s\n%6d\n\nVysledek: " % (i1, op, i2))) except ValueError: sys.exit(1) while guess != vysl: print "Spatne, tupce! Pocitej znovu.\n" try: guess = int(raw_input("%6d\n%6s\n%6d\n\nVysledek: " % (i1, op, i2))) except ValueError: sys.exit(1)
op = random.choice(['+', '-', '*', '/'])
result = eval('%d %s %d' % (num1, op, num2))
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.