# Reviews
The value of the expression
17 % 7
is 3.Suppose that
x
is an non-negative integer variable. Determine the truth value of each of the following expressions.a.
(x >= 0) or (x == 0)
b.
(x > 0) and (x == 0)
Suppose
x
is5
andy
is7
. Choose the value of the following expression:(x != 7) and (x <= y)
Assume you have three integer variables:
x = 2, y = 6, and z
. Determine the value ofz
given the following conditonal expression:z = x if (y / x > 0) else y
. 2Which of the following expressions does not correctly determine that x is greater than 10 and less than 20?
Which of the following is the "not equal to" relational operator?
The function returns a random number from among the numbers between the two arguments and including those numbers.
If you need to know all of the names of the files in a specific directory for which you know the path you could use the function?
listdir(path)
Which file method is used to read the entire file in a single operation?
read
Where 's' is a string the expression needed to return a True if 's' contains only letters or False otherwise, would be?
s.isalpha()
While 's' is a string, to return a list of words in 's' using 'sep' as the delimiter and if no 'sep' is specified then any white space will act as the separator, you would use which string method?
s.split([sep])
Encoding techniques have been used for centuries. Using the Caesar cypher letter subsitution technique with n as an offset of 4, what would the encoded version of the word "emergency" be?
iqivkirgc
Given the variable data which refers to the string "No way!", the expression
data[3:6]
would evaluate to?way
Given that 's' is a string in order to remove any leading or trailing whitespace you should use which command?
s.strip()
If you wanted to remove a specific file from a directory and you know the path to the file you could use the function
remove(path)
to remove the file.What would output at position
m[0][0]
givenm = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
?What is
min("Programming is super fun!")
?It may seem like lists and strings are quite similar in the ability to manipulate them, however, there is a big difference in that lists are mutable.
The variable data refers to the list
[5, 3, 7]
. what would be the value of the following expression?data[-1]
7
The
insert
method expects an integer index and the new list element as arguments.The variable data refers to the list
[5, 3, 7]
. what would be the value of the following expression?data += [2, 10, 5]
5, 3, 7, 2, 10, 5
The
in
operator determines the presence or absence in a list.What gets printed given the following code?
def foo():
sval = "It is true…”
print (sval)
# Global variable scope
sval = "I love python!"
foo()
print (sval)
It is true... I love python!
The expression
list(map(math.sqrt, [9,36, 64]))
will evaluate to?[3.0, 6.0, 8.0]
When the range function is called with three arguments, those arguments indicate a lower bound, and upper bound and a step value.
The following code would yield what result(s)?
for i in range(0, 10, 2):
print i / 10.0
0.0 0.2 0.4 0.6 0.8
What will render given the following code?
def argstest(arg1, arg2, arg3):
print "arg1:", arg1
print "arg2:", arg2
print "arg3:", arg3
args = ("one", 1, 2)
argstest(*args)
arg1: one arg2: 1 arg3: 2
Describe what kwargs does?
Uses
**
to unpack a dictionary passed into the formal parameter listFinish coding the lines commented in the function setColors below…
def setColor(**cstyles):
//finish code below here to iterate through cstyles & print k,v pair
setColor(color="turquoise", bold=True)
for key, value in cstyles.items():
print (key,value)
What is the outcome given the following code snippet?
def m(list):
v = list[0]
for e in list:
if v < e: v = e
return v
values = [[3, 4, 5, 1], [33, 6, 1, 2]]
for row in values:
print(m(row), end=" ")
# Programs
Create a python guessing game program that allows a user 3 choices to guess what a card is generated from a deck of 52 cards, consisting of each suite possible, that is 13 diamonds, 13 hearts, 13 clubs or 13 spades. Show the user the card generated if they won and when they lose.
import random
count = 0
while count < 3:
random.seed(1)
# random number initiation for numbers as well as shapes
forNumbers = random.randint(1, 13)
forShapes = random.randint(1, 4)
# Getting the user input values
cardforNumbers = input(
"Please enter a number 1-13(11-QUEEN,12-JACK,13-KING): ")
cardforShapes = input(
"Please enter a shape(1-SPADE,2-HEARTS,3-DIAMONDS,4-CLUBS): ")
print("\nYour Entered Numbers are below:")
print(cardforNumbers, cardforShapes)
print("Randomly generated numbers by cardnumber / shape are below:")
print(forNumbers, forShapes)
# Conditions to check the entered and generated numbers are the same
if (forNumbers == cardforNumbers):
if(forShapes == cardforShapes):
print("bingo!!! you have the same combination\n")
else:
print("Better luck next time\n")
count = count + 1
Join and sort the initial two lists defined below (list1 & list2). Ensure there are no duplicates in your new list. Starting at the first joined element, determine if any successive pairs of numbers are consecutive or not. List any successive pairs in your list for credit. For example given the joined list,
[1, 3, 8, 9, 12, 13, 15, 16, -5, -4]
the return pairs displayed should be something like(8,9),(12,13),(15,16),(-5,-4)
list1=[1,3,-5,16,8,15] list2=[-4,9,-4,13,12]
ist1=[1,3,-5,16,8,15]
list2=[-4,9,-4,13,12]
l=list(set(list1)^set(list2))
print ("Orig. list =>%s" % l)
print("Results:")
for i in range(len(l)-1):
if i%2==0:
if l[i]<0 and l[i+1]<0: #case < 0
if abs(l[i])-1==abs(l[i+1]):
print (l[i],l[i+1])
elif l[i]+1==l[i+1]:
print (l[i],l[i+1])
Write a program that uses a two - dimensional array, which will simulate the process of counting the number of customers that are serviced through the checkout lanes of a retail store.
The simulation will be used to analyze front - end store employee efficiency. Assuming that the store has six cashier lanes, your simulation will use random numbers to record customer counts as the fictitious customers pass through their respective cashier lanes. The two - dimensional array will store the customer count data for each hour, over an eight - hour span.
The initial array that you will create will have 6 rows, for each of the cashier lanes, and 8 columns, for each hour in the eight - hour data study. The 6 times 8 or 48 array entries will be populated by random number generation. The first lane in the two - dimensional array will be a special 15 items or less checkout lane and thus will take on a larger random number value than the other checkout lanes.After you populate the array elements, display your grid and perform a statistical analysis on the collected data. The goal of the simulation is to determine if more bagging clerks are required to be utilized for increased productivity and faster checkout times for the store's customers. The determining factors for adding additional checkout clerks will be when the average number of customers served per hour per lane will be greater than some value, such as 10. Make message when this is the case.
Run your simulation multiple times ( at least a few times ) to ascertain the rationale for adding more clerks.
See (Program 7-18) in your text for sample code logic.
Sample program run follows along with analytics
Data simulation:Data analysis:
Row analysis:
Cashier 1 customer count 103
Average per hour 13Column analysis:
For hour 3
Customer count 40
Average per hour 7import random
rows = 6
columns = 8
table = [] * rows
# generate column titles
j = 0
print("\nData simulation: \n ")
while j < columns:
print("\thr", (j + 1) , "", end = " ")
j += 1
print("\n")
# populate data for each cashier lane
i = 0
while i < rows:
print("lane " , (i + 1), " ", end = " ")
j = 0
row_attr = []
while j < columns:
# express checkout lane
randomInt1 = 1 + random.randrange(20)
# standard checkout lane
randomInt2 = 1 + random.randrange(10)
if i == 0:
row_attr.append(randomInt1)
else:
row_attr.append(randomInt2)
print(row_attr[j], "\t", end = " ")
j += 1
table.append(row_attr)
print("\n")
i += 1
# Data analysis
rSum = 0
rNum = int(input("Enter Cashier lane number: ")) - 1
for c in range(len(table[rNum])):
rSum += table[rNum][c]
print("Customer count:",rSum, "Avg:", rSum // len(table[rNum]))
cSum = 0
cNum = int(input("Enter hour number: ")) - 1
for r in range(rows):
cSum += table[r][cNum]
print("Hour count:",cSum, "Avg/hr:", cSum // rows)
A matrix is called a positive Markov matrix if each element is positive and the sum of the elements in each column is 1. Write the following function to check whether a 3 x 3 matrix is a Markov matrix:
def isMarkov(m):
Write a test program that prompts the user to enter a matrix of numbers and tests whether it is a Markov Matrix (MM). Show a response for one that is and one that isn’t a MM. Here is a sample run:
Enter the number of rows for square matrix: 3 Enter value for row 1, column 1: .15 Enter value for row 1, column 2: .875 Enter value for row 1, column 3: .375 Enter value for row 2, column 1: .55 Enter value for row 2, column 2: .005 Enter value for row 2, column 3: .225 Enter value for row 3, column 1: .3 Enter value for row 3, column 2: .12 Enter value for row 3, column 3: .4 Outcome: yes
def isMarkov(m) :
# Outer loop to access rows
# and inner to access columns
for i in range(0, len(m)) :
# Find sum of current cols
sum = 0.0
for j in range(0, len(m[i])) :
sum += m[j][i]
if (sum != 1.0) :
return False
return True
rows = int(input("Enter the number of rows for square matrix: "))
cols = rows
# Initialize matrix
matrix = []
# For user input
# Fill the list with random numbers.
for r in range(rows):
row_arr = []
for c in range(cols):
num = float(input("Enter value for row {}, column {}: ".format(r + 1, c + 1)))
row_arr.append(num)
matrix.append(row_arr)
# Calls the function check()
if (isMarkov(matrix)) :
print("Outcome: yes ")
else :
print("Outcome: no ")