> For the complete documentation index, see [llms.txt](https://wiki.zacheller.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.zacheller.dev/pentest/courses/beginner-network-pentesting/week-2/untitled-1.md).

# python101.py

```python
#!/bin/python3

#Print string
print("Strings and things:")
print('Hello, world!')
print("""Hello, this is
a multi-line string""")
print("This is" +" a string")

print('\n') #new line

#Maths
print("Math time:")
print(50+50) #add
print(50-50) #sub
print(50*50) #mult
print(50/50) #divide
print(50 +50 - 50 * 50 /50) #PEMDAS
print(50 ** 2) #exponents
print(50 % 6) #modulo
print(50 // 6) #number without remainder

print('\n') #new line

#Variables & Methods
print("Variables and Methods:")
quote = "All is fair in love and war"
print(len(quote)) #length
print(quote.upper()) #uppercase
print(quote.lower()) #lowercase
print(quote.title()) #title

name = "Heath"
age = 29 #int int(29) <-- declare as integer
gpa = 3.7 #float float(3.7)

print(int(age))
print(int(gpa)) #does not round

print("My name is: " + name + " and I am " + str(age)  + " years old.")

age += 1 #increment
print (age)
print('\n') #new line
#Functions
print("Functions:")
def who_am_i():
	name = "Heath"
	age = 29
	print("My name is: " + name + " and I am " + str(age)  + " years old.")
who_am_i()

#adding in params
def add_one_hundred(num):
	print(num + 100)

add_one_hundred(100)

def add(x,y):
	print(x+y)
add(7,7)
add(305,207)
#using return
def multiply(x,y):
	return x * y
print(multiply(5,5))

def sqr_root(x):
	return x ** .5
print(sqr_root(64))

print()

#boolean expressions (True or False)
print("Boolean expressions:")
bool1 = True
bool2 = 3*3 == 9
bool3 = False
bool4 = 3*3 != 9
print(bool1,bool2,bool3,bool4)
print(type(bool1))
bool5 = "True"
print(type(bool5))

print()

#Relational and Boolean Operators
gt = 7 > 5
lt = 5 < 7
gte = 7 >= 7
lte = 7 <=7
print(gt,lt,gte,lte)

test_and = (7 > 5) and (5 < 7)
test_or = (7 > 5) or (5 < 7)
test_not = not True

print(test_and, test_or, test_not)
print()

#Conditionals
print("Conditionals")
def soda(money):
	if money >= 2:
		return "Soda!"
	else:
		return "no soda :("
print(soda(1) + " - " + soda(2))

def alcohol(age,money):
	if(age>=21) and (money >= 5):
		return "tipsy"
	elif (age>=21) and (money < 5):
		return "need money"
	elif (age < 21) and (money>=5):
		return "need years"
	else:
		return "need money and years on ya"
print(alcohol(25,5))
print(alcohol(15,8))
print(alcohol(21,4))
print(alcohol(18,2))
print()

#Lists
print("Lists:")
movies = ["The Hangover", "Hot Shots", "Airplane", "The Exorcist"]
print(movies[0])
print(movies[0:2]) #elements 0 and 1 (up to but not including 2nd element)
print(movies[1:]) #slice, 1st element onward
print(movies[:1]) #slice, up to the 1st element (just the 0th element)
print(movies[-1]) #takes last item (underflow)
print(len(movies))

movies.append("JAWS")
print(movies)

movies.pop() #removes last item in list
print(movies)

movies.pop(1) #removes 2nd item in list (Hot Shots)
print(movies)

movies = ["The Hangover", "Hot Shots", "Airplane", "The Exorcist"]
person = ["Heath", "Jake", "Leah", "Jeff"]
combined = zip(movies, person)
print(list(combined))
print()

#Tuples
print("Tuples have parentheses, not brackets and cannot change") #immutable
grades = ("A","B","C","D","F")
print(grades[1])
print()

#Looping
print("For loops - start to finish of iterate:")
vegetables = ["cukes","spinach","cabbage"]
for x in vegetables:
	print(x)
print("While loops - execute as long as true:")
i = 1
while i < 10:
	print(i)
	i+=1






```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.zacheller.dev/pentest/courses/beginner-network-pentesting/week-2/untitled-1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
