In [1]:
listy = [1,4,7]
In [2]:
len(listy)
Out[2]:
3
In [3]:
len?
In [4]:
range(5)
Out[4]:
[0, 1, 2, 3, 4]
In [10]:
print(range(7))
range(1,5)
[0, 1, 2, 3, 4, 5, 6]
Out[10]:
[1, 2, 3, 4]
In [9]:
print("hello")
hello
In [12]:
a=15
a<10
    
Out[12]:
False
In [17]:
a=8
if a<10:
    print("a is small")
    if a>2:
        print("a is bigger than two and also small")
a is small
a is bigger than two and also small
In [24]:
a=8
if a<10 and a>2:
    print("pass")
pass
In [26]:
a=15
if a<10 or a>2:
    print("pass")
pass
In [29]:
a=8
if a==5:
    print("five")
In [ ]:
n=0
while n<10:
    print(n)
    n=n+1
In [34]:
n=0
while n<10:
    print(n)
    n=n+2
 0
2
4
6
8
In [40]:
n=0
while n<10:
    if n % 2==0:
        print(n)
    n=n+1
0
2
4
6
8
In [41]:
n=0
while n<10:
    if is_prime(n):
        print(n)
    n=n+1
2
3
5
7
In [42]:
for n in range(10):
    print(n)
0
1
2
3
4
5
6
7
8
9
In [43]:
for n in range(10):
    if is_prime(n):
        print(n)
2
3
5
7
In [50]:
run_sum=0 # keeps track of running sum
for n in range(1000):
    run_sum = run_sum + n^2
print(run_sum)
332833500
In [ ]:
# fibonacci seq 1,1,2,3,5,8,13,21
In [52]:
listy= [1,2,3]
In [55]:
listy.append(4)
In [56]:
listy
Out[56]:
[1, 2, 3, 4]
In [66]:
n=100000
list_fib = [1,1]
for n in range(2,n):
    list_fib.append(list_fib[n-1]+list_fib[n-2])
print(list_fib[n-1])
1605285768272981969703501699166323590285867163980464844832239016803082277106148858007382799983341986487069902980550885975477322351434706230637004409049784072899949196507083084156794116251699801486721736223390722427570186888655751529235613410338408870193727569971527403943276390636566571870291873364726912281315045657377080452296641014550702767029410145444194902043334906137465258645364555071992099303047847552914338861950758012905861458304822952983798347708234849961877892581500487104329912897053787202478194803251250973191854369361609443319395284823520448940840651775732907644074930230290374431944669276579201082329022167437000540178184976161661514705005605252150134472235679948230522246450783383505595174189526726407243536143199261274616730010032991043429007848793212103106980237721076343555337313557523933541011980094972016608642899965136223294935842250390250828259889570870033963187596647568293443342410158531081233044913682653199471625481578504171408327887892606534538046526227539584258299526342312407738333210781604982633545495888491561087898934709982167880030332285876102262358067160003937460024447386489060064938005924808194248140558002201840110628892078612055443438221578862498291300651383928584373984902581102658641829978112304456574513448241227250220543913281700290495475408052707795147547800588002895958860368311598042365046277866614673101609444339885617748915603839452726352490607877574219728913916976759172161942512702106521906799710381230933153796675234790235519467434328547611767013440031554432534844647298756881984813696106276099041644436865326704962005414703252661697429052228700026065934215598541335206314601174756857372108267519395603749844795252189671825103542031215733628895819541342350496767544577359612671868612857438207662577444439948508920511081719932202807952094944050633931520353705165752224278973066052968454719257620483060470600788353841819233018709738129272890069127555164502616928102212343992914591955318844285013299957618895751836410624400229016257087124946066477575152076724047120392797560167658863103308402495871217091072663815427719636357536979632444694514337858315807830123045624488992063343898622232809815276499488686478228480874239466465854539844009846101554232183838534179468661774189936357207632600958655709417275749429239988171339658743365174488065007582726285863146448924868664427085110604128660321340974290227751774596026947684109219687306112339935786833700659979398202936706616097546152220112351577429071691996714225148201836224531388188828414881188334920655630153169251145055210281181391953380107481654255645127994887231589208565664071302800977912220698957776480636745408839203784677444818657023410443268816498801371347267132397716732400934315263934769040513464841561083944551934883988744727388060728901992257005859055592579702701498789876629246140468987055648848202353823182795242782132450518480143325145961034852129829326886460411094976924341652757372601080646845728370074061158221585322990526186875844634722511809085241823052372900726216206528436967345658215327215577167284155988406956370554636684846128334980163194517674669364279385002588645091883068843227246373030571025707218598274899936665115662266698431953945913395325132968342194668498035884320932911784631818654384169888679752612611749789608674697848597112146170633493014995995939377711625582930808676496829249602222619292424252447656287929667304629730313799833027997407244725276302509781047384314176384823474910492580222090290554667340599932753957196728351641530502477184104421940129501065236407261763483076234063819323295322334572201851271712048346025161475245874116634416313368359316761604178485441489158625560121491042371977306153220569706918328875307971430260713887737488956424580200236408778520928365218519552706035683158762854973241589167003513281971327092826499224800043686420871287431718214941144530960087739504822344102520782962035655516108733270659431057180908984684448928694705124124751606008094399621875077691874521915181113806039218189833084405981006235900180458129988105338583529802090663515116386820510979864565900767992236804789116660274242074465689915450163766609593644411213658850426576985714383529945401624240851788213136506239696917002589171303083395774381051715446123416942925788932355391606449483696380865380479401225761887270569344417173464066734925686822031186619591207908188163543880284239713582360127100766740462781576536412091547295248764840471666066886272811794388843307743219581147645698680387569504738045883982131896112230345059280509514222564943979549630201014429406711932844557572047355690339872179753848274878798152859000846882877414009866914761358366440377801312479831726979172606302076253499666244092966565390532288641408697346023687547506031740987393609838537001985848652074791142773969558686068103239608277471576212743198754648861093060447353376563809288613931608800053166651703663865969292530081789003659484129664968142179801303112232192669674091013079467578825009159044999079560119842841840774891322796637499760228395422678882059279834646872879981930583515287830368264532692919057271956752859681898881886439498541387316275493536339245860145603417865564038277467084924043844300194133440861596940217360333529432648799262398491748653232046843518635512424815632399790091319383058951187011114233453689320405036906291814530819976733957592968524495140582759514448923159004961394589314771337923396087724405318646867730296686622216582280224704535802675951705297733101574404733234294106977662349780130398107238471389861024459294575811352809667773935782519357691654885762027480876727340785581940695206967048771578908351334402574318360856798632193726331881046550283723720625207213836985110344362774623912526688659983654267354503660130184607261315347892500198158534311653143488751073335663986008699935524190905789217129357586101554142732918813816072527413704725464366051646675037391784977872153248236462016877698741132976640021269842951404381527581056902776015531253481931405030436144936581763280511888899369043601567238284442140156326757855473238089749069339318565134994017937497714189140450618133800653710578905701193311969411347862991637492457299585035908754211636702432567221176079660768846353555462499893863101174653198802832831885178638820410982868270150458595564192731489094513832587837778402634039494533848163122481509741915459173112340528351759643471126024503393330158870272334363416442648181643133908264254933923111022423455394119289728706968646229942361232659681244229928952837713086869367074666949688235664289445365668999643590811391326976398846698039163994331116507859109105924722221613792406097180860730268431660514233902099427754888095099364499218182387485465844285051917314623301785886569239355767307416457189612282758860678096482576322259178855099811889366588598608684908532188707142217344059879583601545364239908382288075627566254672929090798418902495018625839477832341704525609735226696945209111895724091069262734097346060834140884114546272034601091075066607392927461031018901624959936692727437189452777837271013910330347961872563618384006929406625687660521937920414284075876948973734864464296607958874410374897971401665086279019680361306483792807440323167915458631773816291915663534193112382112071813202257524360679505100218981464929190236763783884289630547657712303511263652170376929554242114844147849278758761487178844511090491684931381508701140795470331425832791795174443345316014017867100467026206758767175293541541367448607018457158925166198803970569883690691795536265756734804837307306460085877107425844666829497295996390238859916362686269934097408562451476379374623550993196136489109563409955438781736113227277878640026582173112714168162050899915521069574813178029882221126053148427407720991984830626114877600943804760919335465806661429107592246850925071517243057081631970863369812005306255905999324382233029502936002282526268740998131292768010353478173880395182261541688558324154255710642637455629200928787273308760210116255276495673080841991400328385261222969550178143630017875486337732118150638322293756098013850524029030664114310341122938217398771306332750102479108831754172349785706349369713029847582738408479430086494764310052593231793690681239110605647357577679219408310561633174516714747601898382892095187207020126861359405365855555035562518384115581027783943449647987123407525608545296453688019745127827411102214473156039551453335455244708166671265000212295201818311964955103092429040511927071866044172960532548207694166108603948611303372962622557823024934543091179436720707073316494701505742233785036393036073152177532933209298374067640072924123428173163231774658502585499405723437552139274519521359490480070875385415499347603123034066820963985109151431832906539974201459967477329530271979033949223392967770231845496483389366966248571993802453741505022035119302556932520161050759990024756053201742583772117730383507254036440389185326790029881442398893769828331810782958805218089704173610162555575007708667458544934890512622299694475604979866102964462896587325781669251722000730931283523623354406568630730994343003934210320011286688678648168322825413855565898791718885801024231781076399571689659585878425746418483785829430232743113385941794893119432754365965535005150877462612292268959195081616313737212210257390964057847621674973275959816144100756290264388769877842730815864795303224896420036449763714326706326443097444394344036145189884729333128921943113919833190552273937562212046453946626458293709271856652813294843231145827998397644217000189970754623522245181421510350285443198157596920161240801647808864472115938552357282910955655677780512706340618660309634109339094782479039426803287485222398171128768486408645900793450789981835891828923988164408760812976907798534971956215225024748426541965305520154012479985207138005622616551716691844471982225836614784559951976421937103376188806280170173910447502781004856875832898456757459481662690674058244813481059889883064434478813670495626007657390338192134475152869835461163047957891472203839321271143839235084745739561868255157077485107186408241854866776794431270504440973438748104298897467188503966985480451422038096093147409580786311434826195890571556349418313604686478628594788476583562882659779383273303181027125928699434203590177926447948905643895047005444140014297532391746027868350952278694063296514551475216771688077309059538777369727068976051903334842321203023886726887610742867344151477077447947091230069759394698408052691949701481606834317937400459134828214517810425950478708392815891499143524321284303438977601721899395142664393266159175684533903096222696225748357123832221891972234299715730828939907870248387493564083113874076687095177462972177492847323467447136083738265422579329651097695663833855348851383647758945146843037345108609270960515186398037429275504965306477071017590076927883283074090470901796452204560875976865956689184176860668548917754524508818761707210379104180886063213729857965583854858417825811083080939815782535892387544338903435770554224322066509656982458223716772061041485951452839810214370828308090078602611958425537714463101947342653097245181455882570795833278264199233292781779691739834722374028359134968926534812645673867047155383209962329386609251989545980416923793235473960577074906465579758020885996768737823912925737867690625424878601078384977143051470735547303126810103256798149154184244813086438826287234916227194779836256231630294462873416143763861548956211326909332740978844539941620533854888022121390787653940979210615900695695764962648335246911960931320020678311139351131272581457044019187773344254136895497827988479497176282435453896259148293007225796075303715612165944846312972217359772965858764062994697240404871943464498250604056850829531560557257824605806436714797704816568945727201160375604927369622790291111707986018783025665906550823741832569198927369151219632599413828382415366689282189697323514468626981132959905314685412467648583769203539414754453342161191547645317765111184895289431714920304803484306639280461153969523848127631060898972208371169679380335202777582736867187740067626815192984409367585824318026792982519579318360255270845064955768645431994778642443792500294845225083537757679281446392584469313692051537916772128641463891956797736102147085825189667655779766394920383481619482742073047689553616486894013078277039223735325766829610778652051470246079013047672461796271239302204223059977187565678317170733262899677810764312110531124810452500644781600520172395831180475539708973496542514609423868675992196832190062051545143386251281752343081379118533529158916074539366429419016681596266666225331730196737836402071811897039374203856624311391856767958698604244547893812503138296294282338344421796461933954890700603371917295457457346035877396591223216373244876540343685185817416059214876045145731912363065794765939457631490868433477763269778396688087622275354324587383585135583811179779696138131065741268187633661846217960666504051491734166083289503200089684888469945173984663864141251614988885824991896947764227301243574760716026262825440105254061845313203976872710916561983858623839321211370538795959311484633533410757236125173045317604937591964576143011142311710546822929656556274389533450585214874767913431975133404476270991029186980373033510505729799453571486584382680717008453854614190601560079734820396503562780145644641793344786776264090925341598803663987369828686918476597024004363917575611701351494238612345987695969135670084488463775937549671495248925556262345704683112312897390539055000273159179356312995162507083932599752512000096042317085907313965833530141855820396530035887539907509666531737785790793686547432335001846734430725426503437900089203841039783220320901491501363111848304394525993272847286869337035384268226490542032245053355512757371604104366679991254532408481676328824199661555831487315299440455200755195924979020673221185481187723139093505770973022046731185077526590557303650305017073155925668965114619849721744711898073309259112577991141878228927357133545904437200653410038901886619155496796890600015358350564377306437667080712131074071897975792078704659192099202886617529142744259976002745114944115687631576555701844051618890297539136824790428784770288217841779177443997621085770842147191051425869093695990650335045183838101251202894636753940212317629606661258911583857155971640983567848908252516490780540660755238073696653216426075228514764181622690052989171075106059816080047526626564900332055535447924944814866333727244326232109187342426748916539916591806698925472241557864022241862356398980126863525828807204615380427539044655134131483639239735828811218838563706385948357145767921426892327550514638724484008309998851137060214056318989386583879784589759805433237460236339899353051565787600499161630695070604394417083243640749517013361513851197460357175281611642807018877903751939655985156940915499310263791413154309977009464135274702293748829118155531557181739127795926242631756913142599663101956908318328292190074610779433411832513448935793980813778947006581596746335751320674310414213654734307463102259090515772809900178202293551182745382308946156170413620428676145783719580509214633633773750096795753813116987116005354352612732373236626036387660496383495168562349133940533740741192663615243096204825941874333714507605575296202287057227462366560472692245107814321937190824600037705329679994478185669000629853100735415196739227695118985644740290313341054075376979738143377546683446368169592761428670679337329510557190740134944635299856444369377716182580236214476547158485702419213145533906722525595024640729501489859844221676017082311816893598620444253188289450656361699955249701613520144971120860057634099545596896243876197513438770449219074789649588025763537988052779366440374178682735443100018487798817982828460804370177956457086054359573266195165984303983185794892148589642707220405257064786902534237993348583466218283961570922302835371519646243378481824150333989508781858209934782211109168837970111754302888479034853786066754034872614797897417714017761571495173799485872493233908514102193388960349301040199663279208504791908851384987130863807661671083892750887981891804385535775024152904836574967632556580605830575336483373629916244999436782911733680938241640243718045188558434713909602122885996987413055187699477670401285200635005297933166543804243941811520897406456555671553906317079364240569092361611460583877866344170851050479457056645997946540340933372953417683946183818998957603604662257045753272478617177260320861164617199606000192732863382632230347177583578346002806688531129525672312951145706710571382642007802493815046102141886495134049700210471212466253837263979824943109797408764996213615841170809784664431454456236333460739760537690673842072715317146632371171191426423263218925774009395614935183684372255348263997102790354229532547582596452214418260347462674033335506047779204957488679646178192020505885453264656505989422597218818132429643574093300620481272686910172049484144474179041092507595349391258872431019456078002253658893393640333882484984229868475970263401424265310638927938451001980275684733455951632364983875161093844705210843950782253009205188315604786828687748357082579272761160909618907213043916216264006733679415933315618959289893754507747555763722804491520766294096252007859169856285857994975533718780855310102262905786160277537358943788037157838469916495505965419477644849003932617058130946047080518760484057979484878832947748554401329383450988232757937745082041870066296466020352219875584652305988059616934838276428669736437836145049536277469540036525674735273203402185424513270037378238322019101481465847004964104907656678255609344451058713859664334598382082958680289259084833277248681968210543050904526543141876148389816922694902561185370642559432115571763338132622029260004069227916912182162776305322267811467376951433977948605575747916999941167744610814802177107423297827096855722623637872871083388653735418199749010786851584756288242166775014135656672993631550983642922520796627560493533727173072689356433238402437006527219978796996002181558525806073040736260502061926074211943393366716944219354629154914624677570894509337572088091637295848990602232742318934042313435513865249409291071183469558644368729510833599955397747806365099354360315958998229406955879861625894256504084178860128656643344973115402009888312994718481006923993863129471683998444099962215888479447936356432356476556475744125346939629206132541096820102119056671474352162955914199058543609764653191671311558192282282268792702864598461048474322992203992886913430196736852271146725149404004966862932655451940282305506435681226618909141651613499280269241679778685388182895195541447043749494947258645732223386597693992504254941218754312371869509518094735373342617599067349549920424947018495166670141550810907685161670747926300720873819047452293292555568230194894495909360541983932094011950924720573878410607636077650823437197713766114234397518388158917884965996724465553632868124522138127090957097438245699550371080063610811883149356770651939170478580009723634750234525230586956973442183601226892857659834571952751402432535974019285723440143178663085661489468395949655292876968954134375894636957215897554269577972545320348925621001018181082629574065977234465759785287286714374727495872678587414207848650895584387998034625046290171801359865921283084324110095123551304987840882204969719686525690716473952684208210845147877429937413685366415637969929823142715151041472330784946315404898554846796151186570216730649318271975902921153186943175465573593065494635152916844790790458553125497137928673185492642988151351749980555583187839911332022938629411423988267600356654324597873469188507881263522836236015950934069352503689517674756165797438330478239020989779629152824515863111964725097784160096873654887523657692708858660924426466417528459411917468227811968564928339695607991760110838526779605813635674564126462387477076176576076716003437705784461587463694687070089585277095337783919922252384173340676544035949056908588828631439042502771447563752818777651253709918812401251883652056354669580952905741415582490443391738002852555008209191847851592479073851265036140857181722009424954159765991869004628183191226610222509780122728274269964956780472796359983193929814543003579665146025703293835876866905044338119473208110838209412870734152425755882705748159165813050178593910256124229010094260825631140463614889387270678084104253868290265833469364298217996716250516848078271855654652623275174807662421334592866518168777832485204717098600835198134559305012490290130422241338403958285184764190905482027517918757579601123830535605112231393403019756477049965699422050882994827980801851757670345169938937847080418089479760574687266210178988958322126026823402114183928602117706731368865987014370986558619181732240685276658039038354363467907704417875928816855390161550018749180460876687660973851061782922830563715645476215243824913175287139102074142077600793968658444817412235270713000205186815788646373003178174407991557273349069111092288299273620724666915851335545120747688390605016278790626
In [60]:
list_fib
Out[60]:
[1, 1, 2, 3]
In [74]:
def is_small(n): 
    """returns true iff n<100"""
    print("testing...")
    if n<100:
        return True
    if n>=100:
        return False
In [75]:
is_small(220)
testing...
Out[75]:
False
In [73]:
is_small?
In [79]:
# below is example of recursion
def fib(n):
    """return nth fibonacci number"""
    if n==0 or n==1:
        return 1
    else: 
        return fib(n-1)+fib(n-2)
In [82]:
fib(7)
Out[82]:
21
In [84]:
a=1
if a==1:
    print("a is 1")
else: 
    print("a is not 1")
a is 1
In [85]:
a=1
if a==1:
    print("a is 1")
print("a is not 1")
a is 1
a is not 1