# Examples of how to do basic string operations full_name = "" loop_count = 0 # Loop here until: # the typed name is at least three characters in length # there is a space in the name between two or more words print("Please enter your full name below.") print("Full name must contain a first name and last name separated by a space.") print() while len(full_name) < 3 or full_name.find(" ") == -1: # If this is not the first loop iteration then print another error if loop_count > 0: print("Error! Please input a valid name!") print() # Get the full name and strip off all leading and trailing white space (spaces) full_name = input(" Enter your full name: ").strip() # Increment the loop counter loop_count += 1 # Split the name into two parts. First and last names first_name, last_name = full_name.split(" ", 2) print(f"Your full name is: {full_name}") print(f"Your first name is: {first_name}") print(f"Your last name is: {last_name}") print() # Test how the username was entered. All upper, all lower, or mixed case if full_name.isupper(): print("Your name seems to have been entered in all capital letters.") elif full_name.islower(): print("Your name seems to have been entered in all lower case letters.") else: print("Your name seems to have been entered with both capital and lower case letters.") print() # Python strings can be combined with "+". This is called "concatenation" str1 = "Hello" str2 = "World" full_str = str1 + " " + str2 print(f"str1 = \"{str1}\"") print(f"str2 = \"{str2}\"") print(f"str1 + \" \" + str2 = \"{full_str}\"") print() # Strings are simply a collection of characters (like but not limited to keyboard keys) # An "index" in a string means what character you are referring to. Strings start # at index zero (0) and count up by one for each character. This means the third # character in a string is index 2 (i.e. 0 1 2) # A "slice" or "substring" of a string is just a smaller part of the whole string. # The syntax for a slice is string_variable[start:end:step] # Where: # start is the index of the first character you want to grab # if start is omitted it will start at zero/first character # if start is negative it will start that many characters from the end of the string # end is the index in the string for where you want to stop grabbing # if end is omitted it will grab everything to the end of the string # if end is negative it will end that many characters from the end of the string # step allows you to skip to every "step" character # (i.e. a step of 3 would mean get every third character) # if step is omitted it defaults to 1 (i.e. every character) my_string = "This Is Your Life In A Nutshell" # The use of \" here means we "escape" the quote. # This is how include a quote inside a string enclosed by quotes print(f"my_string = \"{my_string}\"") print("my_string[:4] =", my_string[:4]) print("my_string[8:17] =", my_string[8:17]) print("my_string[-8:] =", my_string[-8:]) print("my_string[-5:-2] =", my_string[-5:-2]) # The "find()" method can be used to find one string inside another. # It will return: # -1 if the search pattern was not found # the index in the string where the pattern first starts # It will only find the first match if my_string.find("Life") != -1: print(f"\"{my_string}\" contains the string \"Life\"")