"Simon Says" is a memory game where "Simon" outputs a sequence of 10 characters (R, G, B, Y) and the user must repeat the sequence. Create a for loop that compares the two strings. For each match, add one point to user_score. Upon a mismatch, end the game. Ex: The following patterns yield a user_score of 4: simonPattern: R, R, G, B, R, Y, Y, B, G, Y userPattern: R, R, G, B, B, R, Y, B, G, Y

Respuesta :

Answer:

user_score = 0  #user score is initialized to 0

simonPattern = 'RRGBRYYBGY'# stores the sequence of characters in simonPattern

userPattern  = input("Enter user pattern: ")  # prompts the user to enter user pattern and stores the pattern in userPattern

for x in range(len(simonPattern)):  #loops through entire length of simonPattern using x as index variable

   if userPattern[x] == simonPattern[x]:  # checks if the element at x-th index of userPattern matches the element at x-th index of simonPattern

       user_score = user_score + 1  # adds 1 to user score if above if condition evaluates to true

   else:  #if a mismatch occurs  

       break  #loop break if mismatch occurs

print("User Score:",user_score) #prints the computed user score

Explanation:

The program first declares a simonPattern string variable and assign it a sequence of characters. You can also prompt to enter the Simon pattern as

simonPattern = input("Enter Simon pattern:")

If you want to hard code the values of both simonPattern and userPattern then change the first two statements after user_score =0 statement as:

simonPattern = 'RRGBRYYBGY'

userPattern  = 'RRGBBRYBGY'

Now I will explain the working of the for loop.

for x in range(len(simonPattern)):

len method is used which returns the length of the string stored in simonPattern. For example if simonPattern = 'RRGBRYYBGY' then len returns 10

range method is used to generate a sequence of numbers for x. This means value of x starts from 0 and it  keeps incrementing to 1 until the length of the simonPattern is reached.

At first iteration:

Let suppose user enters the pattern: RRGBBRYBGY

x starts at index 0. Value of x=0 is less than the length of simonPattern i.e. 10 so the body of loop executes. The body of loop contains the following if statement:

if userPattern[x] == simonPattern[x]:

It matches both the string for the value of x.

if userPattern[0] == simonPattern[0]:

First character (at 0th index) of userPattern is R and in simonPattern is also R so this statement executes:  user_score = user_score + 1  which adds 1 to the user_score. So user_score=1

Next iteration:

x=1

if userPattern[1] == simonPattern[1]:

Second character (at 1st index) of userPattern is R and in simonPattern is also R so this statement executes:  user_score = user_score + 1  which adds 1 to the user_score. So user_score=2

Next iteration:

x=2

if userPattern[2] == simonPattern[2]:

Third character (at 12nd index) of userPattern is G and in simonPattern is also G so this statement executes:  user_score = user_score + 1  which adds 1 to the user_score. So user_score=3

Next iteration:

x=3

if userPattern[3] == simonPattern[3]:

Fourth character (at 3rd index) of userPattern is B and in simonPattern is also B so this statement executes:  user_score = user_score + 1  which adds 1 to the user_score. So user_score=4

Next iteration:

x=4

if userPattern[4] == simonPattern[4]:

Fifth character (at 4th index) of userPattern is B and in simonPattern is R so the if part does not execute and program moves to the else part which has a break statement which means the loop break. The next print(user_score) statement print the value of user_score. As user_score=4 computed in above iterations so output is:

User Score: 4

Ver imagen mahamnasir

Answer:

The other answer was so close, but the _ was left out so the answer was wrong.

Written in Python:

user_score = 0

simon_pattern = input()

user_pattern  = input()

for x in range(len(simon_pattern)):

   if user_pattern[x] == simon_pattern[x]:

       user_score = user_score + 1

   else:

       break

print('User score:', user_score)

Explanation:

ACCESS MORE
EDU ACCESS
Universidad de Mexico