diff --git a/README (1).md b/README (1).md new file mode 100644 index 0000000..3e27da9 --- /dev/null +++ b/README (1).md @@ -0,0 +1,61 @@ +# Free Book "Programming Basics with Python" + +The free book "**Programming Basics with Python**" introduces the readers to writing **programming code** at a beginner level (variables and data, conditional statements, loops, and functions) using the **Python** programming language. + +Book Programming Basics with Python - Cover + +* [Preface](chapter-00-preface.md) +* [1. First Steps in Programming](chapter-01-first-steps-in-programming.md) +* [2.1. Simple Calculations](chapter-02-simple-calculations.md) +* [2.2. Simple Calculations – Exam Problems](chapter-02-simple-calculations-exam-problems.md) +* [3.1. Simple Conditions](chapter-03-simple-conditions.md) +* [3.2. Simple Conditions – Exam Problems](chapter-03-simple-conditions-exam-problems.md) +* [4.1. More Complex Conditions](chapter-04-complex-conditions.md) +* [4.2. More Complex Conditions – Exam Problems](chapter-04-complex-conditions-exam-problems.md) +* [5.1. Loops](chapter-05-loops.md) +* [5.2. Loops – Exam Problems](chapter-05-loops-exam-problems.md) +* [6.1. Nested Loops](chapter-06-nested-loops.md) +* [6.2. Nested Loops – Exam Problems](chapter-06-nested-loops-exam-problems.md) +* [7.1. More Complex Loops](chapter-07-complex-loops.md) +* [7.2. More Complex Loops – Exam Problems](chapter-07-complex-loops-exam-problems.md) +* [8.1. Practical Exam Preparation – Part I](chapter-08-exam-preparation.md) +* [8.2. Practical Exam Preparation – Part II](chapter-08-exam-preparation-part-2.md) +* [9.1. Problems for Champions – Part I](chapter-09-problems-for-champions.md) +* [9.2. Problems for Champions – Part II](chapter-09-problems-for-champions-part-2.md) +* [10. Methods](chapter-10-functions.md) +* [11. Tricks and Hacks](chapter-11-tricks-and-hacks.md) +* [Conclusion](chapter-12-conclusion.md) + +## Download The Book + +Download the book "**Programming Basics with Python**" in **PDF** format: +* TODO + +## Book Editions + +This book is available in several versions in different programming languages: +* [Programming Basics with C# (English)](https://csharp-book.softuni.org) +* [Programming Basics with Java (English)](https://java-book.softuni.org) +* [Programming Basics with JavaScript (English)](https://js-book.softuni.org) +* [Programming Basics with Python (English)](https://python-book.softuni.org) +* [Programming Basics with C# (Bulgarian)](https://csharp-book.softuni.bg) +* [Programming Basics with Java (Bulgarian)](https://java-book.softuni.bg) +* [Programming Basics with JavaScript (Bulgarian)](https://js-book.softuni.bg) +* [Programming Basics with Python (Bulgarian)](https://python-book.softuni.bg) +* [Programming Basics with C++ (Bulgarian)](https://cpp-book.softuni.bg) + +## Book Details + +Brief information about this edition: +* Title: **Programming Basics with Python** +* Authors: **Svetlin Nakov & Team** + * Main authors: Boncho Vulkov, Hristo Minkov, Iliya Iliev, Martin Tsarev, Miglen Evlogiev, Milena Angelova, Mirela Damyanova, Nikolay Kostov, Petar Ivanov, Petya Gospodinova, Svetlin Nakov, Tanya Evtimova, Tanya Staneva, Teodor Kurtev, Ventsislav Petrov, Vladimir Damyanovski, Yordan Darakchiev + * Other contributors: Aleksander Krastev, Aleksander Lazarov, Aleksander Peev, Aleksandra Stoycheva, Angel Dimitriev, Ariet Motzeva, Daniel Tsvetkov, Denis Milanov, Dimitar Dzhapunov, Dimitar Tatarski, Dimo Dimov, Diyan Tonchev, Dzhaner Hasan, Elena Rogleva, Hristiyan Hristov, Hristo Hristov, Iskra Nikolova, Ivelin Kirilov, Jordan Liubenov, Julieta Atanasova, Kalin Primov, Kaloyan Nenchev, Kristiyan Pamidov, Luboslav Lubenov, Martin Zhelev, Mihail Georgiev, Natali Dimitrova, Nikola Slavchev, Nikolay Bankin, Nikolay Dimov, Pavlin Petkov, Petar Ivanov, Preslav Mihaylov, Rositsa Nenova, Ruslan Filipov, Simeon Stavrev, Stefka Vasileva, Svetlin Nakov, Teodor Kurtev, Tonyo Zhelev, Tsvetan Iliev, Vasko Viktorov, Venelin Bekyarov, Ventsislav Petrov, Yanitsa Vuleva, Yulian Linev, Zahariya Pehlivanova, Zhivko Nedyalkov +* ISBN: **978-619-00-1403-4** (9786190014034) +* Edition: **Faber Publishing, Sofia, Dec 2021** (expected) +* License: **CC-BY-SA** +* Source code: https://github.com/SoftUni/Programming-Basics-Book-Python-EN + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..8bed460 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# Demo Repository + +## Subtitle + +This is the demo repository for Software Technologies May 2023 Course @ SoftUni + +1. first +1. second +1. third diff --git a/pack-e0b92f8232333498cc45df4668e9f1409cf35cf5.rev b/pack-e0b92f8232333498cc45df4668e9f1409cf35cf5.rev new file mode 100644 index 0000000..00a2bd1 Binary files /dev/null and b/pack-e0b92f8232333498cc45df4668e9f1409cf35cf5.rev differ diff --git a/update.sample b/update.sample new file mode 100644 index 0000000..c4d426b --- /dev/null +++ b/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to block unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0