Skip to content

Commit 3a11f74

Browse files
added post on python exercises TUI app
1 parent e9cadf3 commit 3a11f74

File tree

15 files changed

+49
-248
lines changed

15 files changed

+49
-248
lines changed

Diff for: β€ŽREADME.md

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ I'm addicted to reading fantasy/sci-fi books, so I have a [blog](https://learnby
66

77
## Posts
88

9+
* [Interactive Python Exercises and Quiz](https://learnbyexample.github.io/interactive-python-exercises/)
910
* [Vim Reference Guide book announcement](https://learnbyexample.github.io/vim-reference-guide-announcement/)
1011
* [Linux Command Line Computing book announcement](https://learnbyexample.github.io/linux-command-line-computing-announcement/)
1112
* [Interactive GNU awk tutorial](https://learnbyexample.github.io/interactive-awk-tutorial/)

Diff for: β€Žatom.xml

+29-1
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,36 @@
55
<link href="https://learnbyexample.github.io/atom.xml" rel="self" type="application/atom+xml"/>
66
<link href="https://learnbyexample.github.io"/>
77
<generator uri="https://www.getzola.org/">Zola</generator>
8-
<updated>2024-10-09T00:00:00+00:00</updated>
8+
<updated>2024-10-29T00:00:00+00:00</updated>
99
<id>https://learnbyexample.github.io/atom.xml</id>
10+
<entry xml:lang="en">
11+
<title>Interactive Python Exercises and Quiz</title>
12+
<published>2024-10-29T00:00:00+00:00</published>
13+
<updated>2024-10-29T00:00:00+00:00</updated>
14+
<link rel="alternate" href="https://learnbyexample.github.io/interactive-python-exercises/" type="text/html"/>
15+
<id>https://learnbyexample.github.io/interactive-python-exercises/</id>
16+
<content type="html">&lt;p&gt;Having an interactive program that automatically loads questions and checks the solution is wonderful to have while learning a topic. This &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;learnbyexample&#x2F;TUI-apps&#x2F;tree&#x2F;main&#x2F;PythonExercises&quot;&gt;TUI app&lt;&#x2F;a&gt; has beginner to intermediate level exercises and multiple-choice questions for Python learners.&lt;&#x2F;p&gt;
17+
&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;learnbyexample&#x2F;TUI-apps&#x2F;main&#x2F;PythonExercises&#x2F;python_exercises.png&quot; alt=&quot;Sample screenshot for Python exercises&quot; loading=&quot;lazy&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
18+
&lt;blockquote&gt;
19+
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;warning.svg&quot; alt=&quot;warning&quot; &#x2F;&gt; &lt;img src=&quot;&#x2F;images&#x2F;warning.svg&quot; alt=&quot;warning&quot; &#x2F;&gt; This is a work-in-progress project.&lt;&#x2F;p&gt;
20+
&lt;&#x2F;blockquote&gt;
21+
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;br&gt;
22+
&lt;h2 id=&quot;installation&quot;&gt;Installation&lt;a class=&quot;zola-anchor&quot; href=&quot;#installation&quot; aria-label=&quot;Anchor link for: installation&quot;&gt;πŸ”—&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
23+
&lt;p&gt;Install &lt;code&gt;textual&lt;&#x2F;code&gt; (see &lt;a href=&quot;https:&#x2F;&#x2F;textual.textualize.io&#x2F;getting_started&#x2F;&quot;&gt;Textual documentation&lt;&#x2F;a&gt; for more details), clone this repository and run the &lt;code&gt;python_exercises.py&lt;&#x2F;code&gt; file. You&#x27;ll need to install &lt;code&gt;textual[syntax]&lt;&#x2F;code&gt; to enable syntax highlighting (see &lt;a href=&quot;https:&#x2F;&#x2F;textual.textualize.io&#x2F;widgets&#x2F;text_area&#x2F;#syntax-highlighting-dependencies&quot;&gt;documentation&lt;&#x2F;a&gt; for more details).&lt;&#x2F;p&gt;
24+
&lt;p&gt;&lt;strong&gt;TODO&lt;&#x2F;strong&gt;: PyPI app&lt;&#x2F;p&gt;
25+
&lt;p&gt;Adjust the terminal dimensions for the widgets to appear properly, for example 84x25 (characters x lines). Here&#x27;s another screenshot:&lt;&#x2F;p&gt;
26+
&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;learnbyexample&#x2F;TUI-apps&#x2F;main&#x2F;PythonExercises&#x2F;python_quiz.png&quot; alt=&quot;Sample screenshot for Python exercises&quot; loading=&quot;lazy&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
27+
&lt;h2 id=&quot;guide&quot;&gt;Guide&lt;a class=&quot;zola-anchor&quot; href=&quot;#guide&quot; aria-label=&quot;Anchor link for: guide&quot;&gt;πŸ”—&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
28+
&lt;p&gt;See &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;learnbyexample&#x2F;TUI-apps&#x2F;blob&#x2F;main&#x2F;PythonExercises&#x2F;app_guide.md&quot;&gt;app_guide.md&lt;&#x2F;a&gt; for instructions.&lt;&#x2F;p&gt;
29+
&lt;br&gt;
30+
&lt;h2 id=&quot;ebook&quot;&gt;Ebook&lt;a class=&quot;zola-anchor&quot; href=&quot;#ebook&quot; aria-label=&quot;Anchor link for: ebook&quot;&gt;πŸ”—&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
31+
&lt;p&gt;The exercise and quiz questions in this app have been adapted from my &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;learnbyexample&#x2F;100_page_python_intro&quot;&gt;100 Page Python Intro&lt;&#x2F;a&gt; ebook.&lt;&#x2F;p&gt;
32+
&lt;br&gt;
33+
&lt;h2 id=&quot;feedback&quot;&gt;Feedback&lt;a class=&quot;zola-anchor&quot; href=&quot;#feedback&quot; aria-label=&quot;Anchor link for: feedback&quot;&gt;πŸ”—&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
34+
&lt;p&gt;I&#x27;d highly appreciate your feedback. Please file &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;learnbyexample&#x2F;TUI-apps&#x2F;issues&quot;&gt;an issue&lt;&#x2F;a&gt; if there are bugs, crashes, etc.&lt;&#x2F;p&gt;
35+
&lt;p&gt;Hope you find this TUI app useful. Happy learning :)&lt;&#x2F;p&gt;
36+
</content>
37+
</entry>
1038
<entry xml:lang="en">
1139
<title>Vim Reference Guide book announcement</title>
1240
<published>2024-08-20T00:00:00+00:00</published>

Diff for: β€Žindex.html

+1-1
Large diffs are not rendered by default.

Diff for: β€Žinteractive-python-exercises/index.html

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<!doctype html><html lang=en><head><meta content="IE=edge" http-equiv=X-UA-Compatible><meta content="text/html; charset=utf-8" http-equiv=content-type><meta content="width=device-width,initial-scale=1.0,maximum-scale=1" name=viewport><title>Interactive Python Exercises and Quiz</title><link href=https://learnbyexample.github.io/atom.xml rel=alternate title=RSS type=application/atom+xml><script src=https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js></script><link href=https://learnbyexample.github.io/site.css rel=stylesheet><meta content="Interactive Python Exercises and Quiz" property=og:title><meta content=website property=og:type><meta content="Interactive TUI app with exercises and multiple-choice questions for beginner to intermediate level Python learners" property=og:description><meta content=https://learnbyexample.github.io/interactive-python-exercises/ property=og:url><meta content=https://raw.githubusercontent.com/learnbyexample/TUI-apps/main/PythonExercises/python_exercises.png property=og:image><meta content=1200 property=og:image:width><meta content=786 property=og:image:height><meta content=summary_large_image property=twitter:card><meta content=@learn_byexample property=twitter:site><link href=https://learnbyexample.github.io/favicon.svg rel=icon><link rel="shortcut icon" href=https://learnbyexample.github.io/favicon.png><body><div class=container><div class=mobile-navbar id=mobile-navbar><div class=mobile-header-logo><a class=logo href=/>learnbyexample</a></div><div class="mobile-navbar-icon icon-out"><span></span><span></span><span></span></div></div><nav class="mobile-menu slideout-menu slideout-menu-left" id=mobile-menu><ul class=mobile-menu-list><li class=mobile-menu-item><a href=https://learnbyexample.github.io/books> Books </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/mini> Mini </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/tips> Tips </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/tags> Tags </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/about> About </a></ul></nav><header id=header><div class=logo><a href=https://learnbyexample.github.io>learnbyexample</a></div><nav class=menu><ul><li><a href=https://learnbyexample.github.io/books> Books </a><li><a href=https://learnbyexample.github.io/mini> Mini </a><li><a href=https://learnbyexample.github.io/tips> Tips </a><li><a href=https://learnbyexample.github.io/tags> Tags </a><li><a href=https://learnbyexample.github.io/about> About </a></ul></nav></header><main><div class=content id=mobile-panel><div class=post-toc id=post-toc><h2 class=post-toc-title>Contents</h2><div class="post-toc-content always-active"><nav id=TableOfContents><ul><li><a class=toc-link href=https://learnbyexample.github.io/interactive-python-exercises/#installation>Installation</a><li><a class=toc-link href=https://learnbyexample.github.io/interactive-python-exercises/#guide>Guide</a><li><a class=toc-link href=https://learnbyexample.github.io/interactive-python-exercises/#ebook>Ebook</a><li><a class=toc-link href=https://learnbyexample.github.io/interactive-python-exercises/#feedback>Feedback</a></ul></nav></div></div><article class=post><header class=post__header><h1 class=post__title><a href=https://learnbyexample.github.io/interactive-python-exercises/>Interactive Python Exercises and Quiz</a></h1><div class=post__meta><span class=post__time>2024-10-29</span></div></header><div class=post-content><p>Having an interactive program that automatically loads questions and checks the solution is wonderful to have while learning a topic. This <a href=https://github.com/learnbyexample/TUI-apps/tree/main/PythonExercises>TUI app</a> has beginner to intermediate level exercises and multiple-choice questions for Python learners.<p align=center><img alt="Sample screenshot for Python exercises" loading=lazy src=https://raw.githubusercontent.com/learnbyexample/TUI-apps/main/PythonExercises/python_exercises.png><blockquote><p><img alt=warning src=/images/warning.svg> <img alt=warning src=/images/warning.svg> This is a work-in-progress project.</blockquote><span id=continue-reading></span><br><h2 id=installation>Installation<a aria-label="Anchor link for: installation" class=zola-anchor href=#installation>πŸ”—</a></h2><p>Install <code>textual</code> (see <a href=https://textual.textualize.io/getting_started/>Textual documentation</a> for more details), clone this repository and run the <code>python_exercises.py</code> file. You'll need to install <code>textual[syntax]</code> to enable syntax highlighting (see <a href=https://textual.textualize.io/widgets/text_area/#syntax-highlighting-dependencies>documentation</a> for more details).<p><strong>TODO</strong>: PyPI app<p>Adjust the terminal dimensions for the widgets to appear properly, for example 84x25 (characters x lines). Here's another screenshot:<p align=center><img alt="Sample screenshot for Python exercises" loading=lazy src=https://raw.githubusercontent.com/learnbyexample/TUI-apps/main/PythonExercises/python_quiz.png><h2 id=guide>Guide<a aria-label="Anchor link for: guide" class=zola-anchor href=#guide>πŸ”—</a></h2><p>See <a href=https://github.com/learnbyexample/TUI-apps/blob/main/PythonExercises/app_guide.md>app_guide.md</a> for instructions.</p><br><h2 id=ebook>Ebook<a aria-label="Anchor link for: ebook" class=zola-anchor href=#ebook>πŸ”—</a></h2><p>The exercise and quiz questions in this app have been adapted from my <a href=https://github.com/learnbyexample/100_page_python_intro>100 Page Python Intro</a> ebook.</p><br><h2 id=feedback>Feedback<a aria-label="Anchor link for: feedback" class=zola-anchor href=#feedback>πŸ”—</a></h2><p>I'd highly appreciate your feedback. Please file <a href=https://github.com/learnbyexample/TUI-apps/issues>an issue</a> if there are bugs, crashes, etc.<p>Hope you find this TUI app useful. Happy learning :)</div><div class=post-footer><div class=post-tags><a href=https://learnbyexample.github.io/tags/python/>#python</a><a href=https://learnbyexample.github.io/tags/exercises/>#exercises</a><a href=https://learnbyexample.github.io/tags/quiz/>#quiz</a></div><hr color=#e6e6e6><div class=post-nav><p><a class=next href=https://learnbyexample.github.io/vim-reference-guide-announcement/>Vim Reference Guide book announcement β†’</a><br></div><hr color=#e6e6e6><p>πŸ“° Use <a href=https://learnbyexample.github.io/atom.xml>this link</a> for the Atom feed. <br> βœ… Follow me on <a href=https://twitter.com/learn_byexample>Twitter</a>, <a href=https://github.com/learnbyexample>GitHub</a> and <a href=https://www.youtube.com/c/learnbyexample42>Youtube</a> for interesting tech nuggets. <br> πŸ“§ Subscribe to <a href=https://learnbyexample.gumroad.com/l/learnbyexample-weekly>learnbyexample weekly</a> for programming resources, tips, tools, free ebooks and more (free newsletter, delivered every Friday).<hr color=#e6e6e6></div></article></div></main></div><script src=https://learnbyexample.github.io/even.js></script>

0 commit comments

Comments
Β (0)