import%20marimo%0A%0A__generated_with%20%3D%20%220.7.17%22%0Aapp%20%3D%20marimo.App(width%3D%22medium%22)%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20import%20marimo%20as%20mo%0A%20%20%20%20return%20mo%2C%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%20%20%20%20%23%20Express%C3%B5es%0A%0A%20%20%20%20%20%20%20%20S%C3%A3o%20avaliadas%20e%20produzem%20valor.%20Por%20exemplo%3A%0A%0A%20%20%20%20%20%20%20%20%23%23%20Aritm%C3%A9ticas%0A%20%20%20%20%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%202%20%2B%202%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20100%20-%2033%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%203%20*%204%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%2010%20%2F%2F%202%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%2010%20%2F%202%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%2010%20%2F%2F%203%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%200.1%20%2B%200.2%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%2010%20%2F%203%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%2010%20%25%203%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%205%20**%202%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%203%20*%205%20%2B%2010%20-%206%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20(3%20*%20((2%20*%204)%20%2B%20(3%20%2B%205)))%20%2B%20((10%20-%207)%20%2B%206)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%20%20%20%20%23%20Nomeando%20valores%3A%20vari%C3%A1veis%20%26%20atribui%C3%A7%C3%A3o%0A%0A%20%20%20%20%20%20%20%20**Aten%C3%A7%C3%A3o**%3A%20em%20Python%2C%20atribui%C3%A7%C3%A3o%20n%C3%A3o%20%C3%A9%20express%C3%A3o!%20Afinal%2C%20n%C3%A3o%20produz%20valor%20resultado%3A%0A%20%20%20%20%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20pi%20%3D%203.14159%0A%20%20%20%20return%20pi%2C%0A%0A%0A%40app.cell%0Adef%20__(pi)%3A%0A%20%20%20%20pi%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20r%20%3D%2010%0A%20%20%20%20return%20r%2C%0A%0A%0A%40app.cell%0Adef%20__(pi%2C%20r)%3A%0A%20%20%20%20pi%20*%20r%20**%202%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__(pi%2C%20r)%3A%0A%20%20%20%20circumference%20%3D%202%20*%20pi%20*%20r%0A%20%20%20%20circumference%0A%20%20%20%20return%20circumference%2C%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20%23%20(y%20%3D%201)%20%2B%201%20%20%23%20erro%3A%20n%C3%A3o%20podemos%20usar%20uma%20atribui%C3%A7%C3%A3o%20onde%20%C3%A9%20esperada%20um%20express%C3%A3o%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20engineer_pi%20%3D%203%0A%20%20%20%20return%20engineer_pi%2C%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20a1%20%3D%202%0A%20%20%20%20return%20a1%2C%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%20%20%20%20Podemos%20escolher%20qualquer%20nome%20para%20uma%20vari%C3%A1vel%3F%0A%0A%20%20%20%20%20%20%20%20Alguns%20nomes%20s%C3%A3o%20reservados%2C%20e%20s%C3%A3o%20usados%20como%20palavras-chave%20da%20linguagem%3A%0A%20%20%20%20%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20%23%20if%20%3D%202%20%20%23%20erro%20de%20sintaxe%3A%20n%C3%A3o%20podemos%20usar%20palavras-chave%20como%20nome%20de%20vari%C3%A1veis%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22No%20geral%2C%20identificadores%20ou%20nomes%20podem%20ser%20compostos%20por%20letras%2C%20underscore%20(%60_%60)%2C%20ou%20d%C3%ADgitos%20(exceto%20no%20primeira%20posi%C3%A7%C3%A3o).%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20_0_%20%3D%200%0A%20%20%20%20_0_%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20x1%20%3D%202%0A%20%20%20%20x_2%20%3D%20-1%0A%20%20%20%20(x1**2%20%2B%20x_2**2)**0.5%0A%20%20%20%20return%20x1%2C%20x_2%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20%CF%80%20%3D%203.14159%0A%20%20%20%20e%20%3D%202.71828%0A%20%20%20%20e%20**%20(%CF%80%20*%201j)%0A%20%20%20%20return%20e%2C%20%CF%80%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%20%20%20%20%23%20Definindo%20fun%C3%A7%C3%B5es%0A%0A%20%20%20%20%20%20%20%20Em%20Python%2C%20podemos%20definir%20fun%C3%A7%C3%B5es%20com%20a%20palavra-chave%20%60lambda%60.%0A%20%20%20%20%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20%23%20lambda%20%3D%202%20%20%23%20erro%20de%20sintaxe%3A%20n%C3%A3o%20podemos%20usar%20palavras-chave%20como%20nome%20de%20vari%C3%A1veis%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20%23%20(lambda%20y%3A%20y%20*%20y)%20%2B%201%20%20%23%20erro%20de%20tipo%3A%20n%C3%A3o%20podemos%20somar%20fun%C3%A7%C3%B5es%20e%20inteiros%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20square%20%3D%20lambda%20x%3A%20x%20*%20x%0A%20%20%20%20square(2)%0A%20%20%20%20return%20square%2C%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20squared%20%3D%20lambda%20x%3A%20x**2%0A%20%20%20%20squared(2)%0A%20%20%20%20return%20squared%2C%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20const_1%20%3D%201%0A%20%20%20%20const_1%0A%20%20%20%20return%20const_1%2C%0A%0A%0A%40app.cell%0Adef%20__(const_1)%3A%0A%20%20%20%20const1%20%3D%20lambda%3A%201%0A%20%20%20%20const1()%2C%20const1%2C%20const_1%0A%20%20%20%20return%20const1%2C%0A%0A%0A%40app.cell%0Adef%20__(square)%3A%0A%20%20%20%20square_sum%20%3D%20lambda%20x%2C%20y%3A%20square(x)%20%2B%20square(y)%0A%20%20%20%20square_sum(3%2C%204)%0A%20%20%20%20return%20square_sum%2C%0A%0A%0A%40app.cell%0Adef%20__(square_sum)%3A%0A%20%20%20%20euclidian_norm%20%3D%20lambda%20x%2C%20y%3A%20square_sum(x%2C%20y)%20**%20(1%2F2)%0A%20%20%20%20euclidian_norm(2%2C%20-1)%0A%20%20%20%20return%20euclidian_norm%2C%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%20%20%20%20%23%20Express%C3%B5es%20condicionais%0A%0A%20%20%20%20%20%20%20%20Podemos%20fazer%20an%C3%A1lise%20de%20casos%20usando%20a%20express%C3%A3o%20%60if-else%60%20e%20uma%20compara%C3%A7%C3%A3o%20(%60%3C%2C%20%3E%2C%20%3E%3D%2C%20%3C%3D%2C%20%3D%3D%2C%20!%3D%60).%0A%0A%20%20%20%20%20%20%20%20O%20formato%20de%20uma%20express%C3%A3o%20%60if-else%60%20%C3%A9%0A%20%20%20%20%20%20%20%20%60%60%60python%0A%20%20%20%20%20%20%20%20%3Cexpress%C3%A3o-teste-verdadeiro%3E%20if%20%3Cexpress%C3%A3o-teste%3E%20else%20%3Cexpress%C3%A3o-teste-falso%3E%0A%20%20%20%20%20%20%20%20%60%60%60%0A%20%20%20%20%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__(e%2C%20%CF%80)%3A%0A%20%20%20%20%CF%80%20if%20%CF%80%20%3E%20e%20else%20e%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20valor_absoluto%20%3D%20lambda%20n%3A%20n%20if%20n%20%3E%3D%200%20else%20-n%0A%20%20%20%20valor_absoluto(-66)%0A%20%20%20%20return%20valor_absoluto%2C%0A%0A%0A%40app.cell%0Adef%20__(valor_absoluto)%3A%0A%20%20%20%20valor_absoluto(4)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__(valor_absoluto)%3A%0A%20%20%20%20valor_absoluto(0)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%23%20Compara%C3%A7%C3%B5es%20e%20operadores%20l%C3%B3gicos%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20True%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20False%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20%23%20True%20%3D%20False%20%20%23%20erro%20de%20sintaxe%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%200%20%3C%201%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%202%20%3E%201%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%204%20%3D%3D%204%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%205%20!%3D%206%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20igual_menor%20%3D%20lambda%20a%2C%20b%3A%20a%20%3C%20b%20or%20a%20%3D%3D%20b%20%23%20%3C%3D%0A%20%20%20%20igual_menor(0%2C%201)%0A%20%20%20%20return%20igual_menor%2C%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20igual_menor2%20%3D%20lambda%20c%2C%20d%3A%20not%20c%20%3E%20d%0A%20%20%20%20igual_menor2(1%2C%200)%0A%20%20%20%20return%20igual_menor2%2C%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20igual%20%3D%20lambda%20e%2C%20f%3A%20(not%20e%20%3E%20f)%20and%20(not%20e%20%3C%20f)%0A%20%20%20%20igual(4%2C%204)%0A%20%20%20%20return%20igual%2C%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%20%20%20%20%23%23%23%20Preced%C3%AAncia%20dos%20operadores%20l%C3%B3gicos%0A%0A%20%20%20%20%20%20%20%20A%20preced%C3%AAncia%20do%20operador%20%60not%60%20%C3%A9%20maior%20do%20que%20a%20do%20operador%20%60and%60%2C%20que%20por%20sua%20vez%20%C3%A9%20maior%20que%20a%20preced%C3%AAncia%20do%20operador%20%60or%60.%20Veja%3A%0A%20%20%20%20%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20not%20True%20and%20False%20or%20True%20%20%23%20equivale%20a%20((not%20True)%20and%20False)%20or%20True%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20not%20True%20and%20(False%20or%20True)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20igual_facil%20%3D%20lambda%20e%2C%20f%3A%20e%20%3D%3D%20f%0A%20%20%20%20igual_facil(4%2C4)%0A%20%20%20%20return%20igual_facil%2C%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20fat%20%3D%20lambda%20n%3A%201%20if%20n%20%3C%3D%201%20else%20n%20*%20fat(n%20-%201)%0A%20%20%20%20fat(500)%0A%20%20%20%20return%20fat%2C%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%5BRecurs%C3%A3o%20em%20uma%20imagem%5D(https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2Fd%2Fd9%2FDroste_Cacao_Alcalinise_blikje%252C_foto4.JPG%2F769px-Droste_Cacao_Alcalinise_blikje%252C_foto4.JPG)%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%23%20Exerc%C3%ADcios%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%20%20%20%20%23%23%23%23%20Ex.%201%0A%0A%20%20%20%20%20%20%20%20Qual%20o%20resultado%20de%20cada%20uma%20das%20express%C3%B5es%20seguintes%3F%0A%20%20%20%20%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%2010%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%205%20%2B%203%20%2B%204%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%209%20-%201%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%206%20%2F%202%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20(2%20*%204)%20%2B%20(4%20-%206)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20a%20%3D%203%0A%20%20%20%20return%20a%2C%0A%0A%0A%40app.cell%0Adef%20__(a)%3A%0A%20%20%20%20a%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__(a)%3A%0A%20%20%20%20b%20%3D%20a%20%2B%201%0A%20%20%20%20return%20b%2C%0A%0A%0A%40app.cell%0Adef%20__(a%2C%20b)%3A%0A%20%20%20%20a%20%2B%20b%20%2B%20(a%20*%20b)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__(a%2C%20b)%3A%0A%20%20%20%20a%20%3D%3D%20b%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__(a%2C%20b)%3A%0A%20%20%20%20b%20if%20(b%20%3E%20a%20and%20b%20%3C%20(a%20*%20b))%20else%20a%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__(a%2C%20b)%3A%0A%20%20%20%206%20if%20a%20%3D%3D%204%20else%20(6%20%2B%207%20%2B%20a)%20if%20b%20%3D%3D%204%20else%2025%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__(a%2C%20b)%3A%0A%20%20%20%202%20%2B%20(b%20if%20b%20%3E%20a%20else%20a)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__(a%2C%20b)%3A%0A%20%20%20%202%20%2B%20b%20if%20b%20%3E%20a%20else%20a%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__(a%2C%20b)%3A%0A%20%20%20%202%20%2B%20(b%20if%20b%20%3C%20a%20else%20a)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__(a%2C%20b)%3A%0A%20%20%20%202%20%2B%20b%20if%20b%20%3C%20a%20else%20a%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__(a%2C%20b)%3A%0A%20%20%20%20((a%20if%20a%20%3E%20b%20else%20b)%20if%20a%20!%3D%20b%20else%20-1)%20*%20(a%20%2B%201)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%2010%20%3E%201%20and%205%20%3C%2033%20or%203%20!%3D%201%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20par%20%3D%20lambda%20n%3A%20n%20%25%202%20%3D%3D%200%0A%20%20%20%20par(5)%0A%20%20%20%20return%20par%2C%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%20%20%20%20%23%23%23%23%20Ex.%202%0A%0A%20%20%20%20%20%20%20%20Defina%20uma%20fun%C3%A7%C3%A3o%20que%20recebe%20tr%C3%AAs%20argumentos%20e%20retorna%20a%20soma%20dos%20quadrados%20dos%20dois%20maiores%20n%C3%BAmeros.%0A%20%20%20%20%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%20%20%20%20%23%23%23%23%20Ex.%203%0A%0A%20%20%20%20%20%20%20%20Explique%20o%20que%20a%20fun%C3%A7%C3%A3o%20%60f%60%20abaixo%20faz%2C%20e%20como%20ela%20funciona.%0A%20%20%20%20%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20add%20%3D%20lambda%20x%2C%20y%3A%20x%20%2B%20y%0A%20%20%20%20subt%20%3D%20lambda%20x%2C%20y%3A%20x%20-%20y%0A%20%20%20%20f%20%3D%20lambda%20a%2C%20b%3A%20((add%20if%20b%20%3E%200%20else%20subt))%0A%20%20%20%20return%20add%2C%20f%2C%20subt%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%20%20%20%20%23%23%23%23%20Ex.%204%0A%0A%20%20%20%20%20%20%20%20Dado%20c%C3%B3digo%20abaixo%2C%20pense%20se%20A%20e%20B%20tem%20valores%20iguais%2C%20verifique%20sua%20resposta%2C%20e%20justifique%20o%20comportamento%20observado.%0A%20%20%20%20%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20p%20%3D%20lambda%3A%20p()%0A%0A%20%20%20%20test%20%3D%20lambda%20x%2C%20y%3A%200%20if%20not%20x%20else%20y%0A%0A%20%20%20%20zero%20%3D%200%0A%20%20%20%20return%20p%2C%20test%2C%20zero%0A%0A%0A%40app.cell%0Adef%20__(p%2C%20zero)%3A%0A%20%20%20%20A%20%3D%200%20if%20zero%20%3D%3D%200%20else%20p()%0A%20%20%20%20A%0A%20%20%20%20return%20A%2C%0A%0A%0A%40app.cell%0Adef%20__(p%2C%20test%2C%20zero)%3A%0A%20%20%20%20B%20%3D%20test(zero%2C%20p())%0A%20%20%20%20B%0A%20%20%20%20return%20B%2C%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%20%20%20%20%23%23%23%23%20Ex.%205%0A%0A%20%20%20%20%20%20%20%20Defina%20uma%20fun%C3%A7%C3%A3o%20que%20recebe%20um%20n%C3%BAmero%20inteiro%20positivo%20e%20calcula%20o%20pr%C3%B3ximo%20n%C3%BAmero%20da%20%5Bsequ%C3%AAncia%20de%20Collatz%5D(https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FCollatz_conjecture).%0A%20%20%20%20%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20collatz%20%3D%20lambda%20n%3A%201%0A%20%20%20%20return%20collatz%2C%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%20%20%20%20%23%23%23%23%20Ex.%206%0A%0A%20%20%20%20%20%20%20%20Defina%20uma%20fun%C3%A7%C3%A3o%20chamado%20%60collatz_steps%60%20que%20recebe%20um%20n%C3%BAmero%20inteiro%20positivo%20e%20calcula%20n%C3%BAmero%20de%20aplica%C3%A7%C3%B5es%20da%20fun%C3%A7%C3%A3o%20de%20Collatz%20at%C3%A9%20que%20se%20obtenha%20%601%60.%0A%20%20%20%20%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20collatz_steps%20%3D%20lambda%20n%3A%200%0A%20%20%20%20collatz_steps(12)%20%3D%3D%209%0A%20%20%20%20return%20collatz_steps%2C%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%20%20%20%20%23%20Extras%0A%0A%20%20%20%20%20%20%20%20%23%23%20Operador%20de%20atribui%C3%A7%C3%A3o%0A%0A%20%20%20%20%20%20%20%20A%20atribui%C3%A7%C3%A3o%20Python%20usual%20n%C3%A3o%20%C3%A9%20uma%20express%C3%A3o%2C%20mas%20a%20linguagem%20tamb%C3%A9m%20define%20uma%20express%C3%A3o%20de%20atribui%C3%A7%C3%A3o%2C%20usando%20o%20operador%20morsa%20(%60%3A%3D%60)%3A%0A%20%20%20%20%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20x2%20%3D%201%0A%20%20%20%20return%20x2%2C%0A%0A%0A%40app.cell%0Adef%20__()%3A%0A%20%20%20%20(x%20%3A%3D%201)%0A%20%20%20%20return%20x%2C%0A%0A%0A%40app.cell%0Adef%20__(x)%3A%0A%20%20%20%20x%20%2B%201%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__(pi)%3A%0A%20%20%20%20t%20if%20(t%20%3A%3D%20pi**2)%20%3E%209.5%20else%2010%0A%20%20%20%20return%20t%2C%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%20%20%20%20%23%23%23%23%20Ex.%207%0A%0A%20%20%20%20%20%20%20%20Redefina%20a%20fun%C3%A7%C3%A3o%20%60collatz_steps%60%20usando%20o%20operador%20de%20atribui%C3%A7%C3%A3o.%0A%20%20%20%20%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20__(collatz)%3A%0A%20%20%20%20new_collatz_steps%20%3D%20lambda%20n%3A%204%20if%20(z%20%3A%3D%20collatz(n))%20%3E%202%20else%20z%20%23%20preencha%20aqui%20com%20a%20fun%C3%A7%C3%A3o%20correta%0A%20%20%20%20return%20new_collatz_steps%2C%0A%0A%0A%40app.cell%0Adef%20__(new_collatz_steps)%3A%0A%20%20%20%20new_collatz_steps(12)%20%3D%3D%209%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20__(mo)%3A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20r%22%22%22%0A%20%20%20%20%20%20%20%20%23%20Cr%C3%A9ditos%0A%0A%20%20%20%20%20%20%20%20Aula%20baseada%20no%20primeiro%20cap%C3%ADtulo%20do%20livro%20*Structure%20and%20Interpretation%20of%20Computer%20Programs*%2C%20de%20Harold%20Abelson%20and%20Gerald%20Jay%20Sussman%20with%20Julie%20Sussman%20(dispon%C3%ADvel%20%5Baqui%5D(https%3A%2F%2Fgithub.com%2Fsarabander%2Fsicp-pdf)).%20Licenciado%20sob%20Creative%20Commons%20Attribution-ShareAlike%204.0%20International%20License%20(%5Bcc%20by-sa%5D(Creative%20Commons%20Attribution-ShareAlike%204.0%20International%20License%20(cc%20by-sa).)).%0A%20%20%20%20%20%20%20%20%22%22%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A