In: Computer Science
Python please Questions #3, #4 and # 5 please
A string is one of most powerful data types in programming. A string object is a sequence of characters and because it is a sequence, it is indexable, using index numbers starting with 0. Similar to a list object, a string object allows for the use of negative index with -1 representing the index of the last character in the sequence. Accessing a string object with an invalid index will result in IndexError exception.
In Python a string literal is defined to be a sequence of characters enclosed in single, double or triple quotes.
To define a string object or variable, we use one of the following:
A string object in immutable, meaning, it cannot be changed once it is defined.
The concatenation operator (+) is used to add two or more string objects (strObj1 + strObj2)
The repetition operator (*) is used to repeat the string object (n*strObj or strObj*n, where n is an integer)
The in and not in operators are used to test if one string object is contained in another string object.
Slice a string object using strObj[start:end], start is the index of the starting character and end-1 is the index last character.
The split method creates a list of the split string object.
lstObj = strObj.split(split-character)
space is the default split-character.
The strip method removes the leading and trailing character, the default is space.
strObj.strip(strip-character)
Variations: rstrip, lstrip (left and right strip methods to remove leading and trailing character, respectively)
Other commonly used string methods are
strObj.lower() changes all characters to lowercase
strObj.upper() changes all characters to uppercase
strObj.islower() tests if all characters are lowercase
strObj.isupper() tests if all characters are uppercase
strObj.replace(old, new) replaces old substring with new substring
strObj.find(substring) returns the lowest index of the substring if it is found in strObj
Activity
1) Write a program to reverse a string object
Ans:
strObj = "Sangeetha"[::-1]
print(strObj)
2) Write a program that will check if a string object is a palindrome, that is a word, phrase, or sequence that reads the same backward as forward, e.g., madam or nurses run. Note: reverse(string) = string.
Ans :
def isPalindrome(strObj):
return strObj == strObj[::-1]
strObj = "bananab"
ans = isPalindrome(strObj)
if ans:
print("It is Palindrome")
else:
print("It is not a Palindrome")
3) Define a string object that will hold “department computer science:fayetteville state university:fayetteville, north carolina”
Ans :
strObj="department computer science:fayetteville state university:fayetteville, north carolina"
print(strObj)
4) Split the string object in (3) using the character “:” and assign to a list object
Ans :
listObj=[]
strObj="department computer science:fayetteville state university:fayetteville, north carolina"
listObj=strObj.split(':')
print(listObj)
5) Write a program that capitalize the first letter of every word in string object in (3)
Ans :
strObj="department computer science:fayetteville state university:fayetteville, north carolina"
listObj=strObj.split(':')
strObj = " ".join(listObj)
lst = [f[0].upper() + f[1:] for f in strObj.split()]
strObj = " ".join(lst)
print(strObj)
6) Write a program that insert the string objects “of” and “28301” to the new string object in (5)
Ans :
strObj="department computer science:fayetteville state university:fayetteville, north carolina"
listObj=strObj.split(':')
strObj = " ".join(listObj)
lst = [f[0].upper() + f[1:] for f in strObj.split()]
strObj = " ".join(lst)
strObj+=" of"
strObj+=" 28301"
print(strObj)
7) Write a program that will display the word, character, space counts in the file storytelling.txt.(The file is on Canvas in the Worksheets folder).
Ans :
def counter(fname):
num_words = 0
num_lines = 0
num_charc = 0
num_spaces = 0
with open(fname, 'r') as f:
for line in f:
num_lines += 1
word = 'Y'
for letter in line:
if (letter != ' ' and word == 'Y'):
num_words += 1
word = 'N'
elif (letter == ' '):
num_spaces += 1
word = 'Y'
for i in letter:
if(i !=" " and i !="\n"):
num_charc += 1
print("Number of words in text file: ", num_words)
print('Number of characters in text file: ', num_charc)
print('Number of spaces in text file: ', num_spaces)
if __name__ == '__main__':
fname = 'C:\\Users\\Worksheets\\storytelling.txt'
try:
counter(fname)
except:
print('File not found')