Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add files via upload #2

Open
wants to merge 1 commit into
base: gh-pages
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions README (1).md
Original file line number Diff line number Diff line change
@@ -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.

<a href="#"><img src="/assets/Python-Programming-Basics-Book-Cover.png" alt="Book Programming Basics with Python - Cover" class="readme-book-cover-image" /></a>

* [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:
* <a href="#">TODO</a>

## 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

<!-- ## Free Practical Programming Course

Enjoy reading and do not forget to **sign up** for the [**Practical Free Course "Programming Basics"**](https://softuni.org) coming together with this book, because programming is learned by practice, code writing, and solving many, many problems, not just by reading! -->
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -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
Binary file added pack-e0b92f8232333498cc45df4668e9f1409cf35cf5.rev
Binary file not shown.
128 changes: 128 additions & 0 deletions update.sample
Original file line number Diff line number Diff line change
@@ -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 <ref> <oldrev> <newrev>)" >&2
exit 1
fi

if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
echo "usage: $0 <ref> <oldrev> <newrev>" >&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 </dev/null | tr '[0-9a-f]' '0')
if [ "$newrev" = "$zero" ]; then
newrev_type=delete
else
newrev_type=$(git cat-file -t $newrev)
fi

case "$refname","$newrev_type" in
refs/tags/*,commit)
# un-annotated tag
short_refname=${refname##refs/tags/}
if [ "$allowunannotated" != "true" ]; then
echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&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