Data control structure
Contents
Boolean value
The value True (T) and False (F) are referred to as logical values and used the same in Python; their corresponding values are 1 and 0. Run the following codes and explains what the codes do.
>>> 8<9
True
>>> 9<8
False
>>> x=3
>>> y=9
>>> x<y
True
>>> x>y
False
>>>
>>> X=range(-3,3)
>>> [X[i]<2 for i in range(6)]
[True, True, True, True, True, False]
>>> sum([X[i]<2 for i in range(6)])
5
>>> sum(X)
-3
One of the main application of logical operator is to extract specific elements, see the following codes,
>>> weight=[58,89,68,74,62,77,65,65]
>>> [weight[i]<74 for i in range(len(weight))]
[True, False, True, False, True, False, True, True]
>>> weight<74
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'list' and 'int'
Obviously weight<74 does not work for the list, To run it change the data to the array provided in Numpy:
>>> weight=np.array(weight)
>>> weight<74
array([ True, False, True, False, True, False, True,True], dtype=bool)
>>> (weight<74) & (weight==89)
array([False, False, False, False, False, False, False, False], dtype=bool)
>>> weight[(weight<74) & (weight==89)]
array([], dtype=int64)
>>> weight[(weight<74) & (weight==62)]
array([62])
>>> weight[(weight<74) | (weight==62)]
array([58, 68, 62, 65, 65])
>>> weight[~(weight<74) & (weight==62)]
array([], dtype=int64)
>>> weight[~((weight<74) | (weight==62))]
array([89, 74, 77])
Control Structure
Commands with control structure often include conditional command that use comparisons operators (>, <, =>, <=, ==, !=, ~, is)
>>> 3<4
True
>>> 3!=4
True
>>> 3==4
False
>>> 3 is 4
False
>>> 'hi' == 'h' + 'i'
True
>>> 'HI' != 'hi'
True
>>> [1, 2] != [2, 1]
True
>>> ~True
-2
>>> ~False
-1
The structure command of if is as below.
If cond satisfies the cons.expr run otherwise alt.expr run.
if(cond) cons.expr elif (condition) alt.expr else alt.expr
x=4
y=4
if x<y:
print('x is less than y')
elif x>y:
print('x greater than y')
else:
print(' x and y are equal')
To pass the value inside the quote, use the f-string format
if x<y:
print( f'{x} is less than {y}')
elif x>y:
print(f'{x}greater than {y}')
else:
print(f'x={x} and y={y} are equal')
Try except
When there is any possibility for error, it is better to use try except, which tests the statement infront try, if there is an error, it goes to except, otherwise passes and goes to else.
```{Python, echo = FALSE, message = FALSE}
x=’Just test’
try:
print(x)
except:
print(“Something went wrong”)
else:
print(“Nothing went wrong”)
try: print(y) except: print(“Something went wrong”) else: print(“Nothing went wrong”) ```
License
Copyright (c) 2019 Saeid Amiri


