lambda x:x**2
#!/usr/bin/env python# -*- coding: utf-8 -*-print "Lichobežníkova metoda"from math import *def lich(f,a,b,n): h = (b-a)/n s = (f(a)+f(b))*0.5 for i in range(1,n): s += f(a+i*h) print h*sfun = input ("Zadaj funkciu: ")fa = input("Zadaj a: ")fb = input("Zadaj b: ")fn = 20print lich(fun,fa,fb,fn)
fcn = eval('lambda x: ' + raw_input("> "))
Kód: [Vybrat]fcn = eval('lambda x: ' + raw_input("> "))
Lichobežníkova metodaZadaj funkciu: x**2Zadaj a: 0Zadaj b: 5.041.71875None
eval vyhodnotí řetězec v parametru jako příkaz pythonu.Máš tam dvakrát print, nejdřív tiskeš ve funkci (výsledek příkladu) a pak výsledek funkce (None).
A teraz ma ešte napadla jedna myšlienka ako by som mal postupovať keby som chcel výpočet opakovať. Aby sa na konci výpočtu program opýtal či chcem vložiť ďalšiu funkciu alebo ukončiť program.
while True: vypocet() ans=raw_input("Continue?") if not ans=="Yes": break
Citace: pacholik 13 Července 2012, 23:25:39eval vyhodnotí řetězec v parametru jako příkaz pythonu.Máš tam dvakrát print, nejdřív tiskeš ve funkci (výsledek příkladu) a pak výsledek funkce (None).Ahá ďakujem .Na ten jeden print som úplne zabudol
While běží dokud je splněna podmínka, takže to True říká že podmínka je splněna