Title: Programming Logic Slug: 03-s6-step-3 Date: 2020-11-01 12:02 Summary: Loops, if/else statements, variables and more. As bots are written in code, they are based on the features and constraints of *programming logic*. To unpack this term, we will look at how the following elements are operating, specifically in the programming language Python: * data objects * loops * if/else statements * variables ### Data Objects How to store data? Lists ``` agents = ['bot', programmer', 'user', 'moderator', 'server', 'regulator'] colors = ['red', 'magenta', 'yellow', 'blue', 'purple', 'green'] objects = ['apple', 'book', 'cable'] ``` Dictionaries ``` vocabulary = { 'welcome' : 'Hello, how are you doing?', 'disagreement' : 'That makes no sense to me.', 'greeting' : 'Thanks for this, bye!' } ``` ### Loops A loop is an element in programming that allows you to execute a single line of code multiple times. It is a central figure in automatising a task that is repetitive. By using for example a `range()` loop, you can ask the program to execute a command `x` many times. In the following example, the `print()` command is asked to return the word `bot` as many times as the loop is iterating. ``` for x in range(5): print('bot' * x) > bot > botbot > botbotbot > botbotbotbot > botbotbotbotbot ``` Another type of loop is the `while` loop, which allows to repeat a command for an infinite number of times. This type of loop can be stopped by a manual interruption of the programmer, usually by typing a specific key-combination, such as `CTRL+D`. ``` while True: print('bot') > bot > bot > bot > bot > bot ``` Other loops, such as the `for` loop, are useful to iterate over a specific set of items. If you would like to write a bot that would, for example, post a message of each sentence of a book, you could loop over all the sentences and `print()` them one by one. ``` sentences = open('book.txt').readlines() for sentence in sentences: print('sentence') > This is the first sentence. > This is the second sentence. > This is the third sentence. ``` ### if/else statements A next element in writing your bot could include the description of specific behavior at specific moments. If/else statements are used to trigger certain commands `if` a specific condition is met, or `else` execute an alternative command. ``` for x in range(5): if x < 3: print('Counting ... ' + str( x )) else: print('Nearing to the end ... ' + str( x )) > Counting ... 0 > Counting ... 1 > Counting ... 2 > Nearing to the end ... 3 > Nearing to the end ... 4 ``` ### Variables ## Footnotes