KnowledgeBoat Logo Home Class 11 - Computer Science with Python Sumita Arora String Manipulation Chapter 10 String Manipulation Class 11 - Computer Science with Python Sumita Arora Multiple Choice Questions Question 1 Negative index -1 belongs to .......... of string. first character last character ✓ second last character second character Question 2 Which of the following is/are not legal string operators? in + * / ✓ Question 3 Which of the following functions will return the total number of characters in a string? count() index() len() ✓ all of these Question 4 Which of the following functions will return the last three characters of a string s? s[3:] s[:3] s[-3:] ✓ s[:-3] Question 5 Which of the following functions will return the first three characters of a string s? s[3:] s[:3] ✓ s[-3:] s[:-3] Question 6 Which of the following functions will return the string in all caps? upper() ✓ toupper() isupper() to-upper() Question 7 Which of the following functions will return the string with every 'P' replaced with a 'z'? find() index() replace() ✓ split() Question 8 Which of the following functions will return a list containing all words of the string? find() index() partition() split() ✓ Question 9 Which of the following functions will always return a tuple of 3 elements? find() index() partition() ✓ split() Question 10 What is the output of the following code? str1 = "Mission 999" str2 = "999" print(str1.isdigit(),str2.isdigit()) False True ✓ False False True False True True Question 11 Choose the correct function to get the ASCII code of a character. char('char') ord('char') ✓ ascii('char') All of these Question 12 Which method should I use to convert String "Python programming is fun" to "Python Programming Is Fun" ? capitalize() title() ✓ istitle() upper() Question 13 Guess the correct output of the following String operations. str1 = 'Wah' print(str1*2) WahWah ✓ TypeError: unsupported operand type(s) for * : 'str' and 'int' WWaahh Wah2 Question 14 What is the output of the following string operation? str = "My roll no. is 12" print(str.isalnum()) True False ✓ Error No output Question 15 Select the correct output of the following String operations. str1 = 'Waha' print(str1[:3] + 'Bhyi' + str1[-3:]) Wah Bhyi Wah WahBhyiaha ✓ WahBhyiWah WahBhyiWaha Question 16 Select the correct output of the following String operations. str = "my name is Anu John" print(str.capitalize()) 'My name is anu john' ✓ TypeError: unsupported operand type(s) for * : 'str' and 'int' 'My name is Anu John' 'My Name Is Anu John' Question 17 Choose the correct function to get the character from ASCII number. ascii(number) char(number) chr(number) ✓ all of these Question 18 s = ' '(single space). Then s.isalnum() will return. True False ✓ Error nothing Question 19 Which of the following functions removes all leading and trailing spaces from a string? lstrip() rstrip() strip() ✓ all of these Question 20 Which of the following functions will raise an error if the given substring is not found in the string? find() index() ✓ replace() all of these Fill in the Blanks Question 1 The string indexes begin 0 onwards. Question 2 For strings, + operator performs concatenation. Question 3 For strings, * operator performs replication. Question 4 The in and not in are membership operators for strings (in, not in). Question 5 The ord() returns the ASCII value of a given character. Question 6 If a string contains letters and digits, function isalnum() will return true. Question 7 'ab'.isalpha() will return value as True. Question 8 To get each word's first letter capitalized, title() function is used. Question 9 Function index() raises an exception if the substring is not found. Question 10 Function split() divides a line of text into individual words. True/False Questions Question 1 Strings have both positive and negative indexes. True Question 2 Python does not support a character type; a single character is treated as strings of length one. True Question 3 Strings are immutable in Python, which means a string cannot be modified. True Question 4 Like '+', all other arithmetic operators are also supported by strings. False Question 5 Functions capitalize() and title() return the same result. False Question 6 Functions partition() and split() work identically. False Question 7 The find() and index() are similar functions. True Question 8 The find() does not raise an exception if the substring is not found. True Question 9 The partition() function's result is always a 3-element tuple. True Question 10 The split() returns always a 3-element list. False Type A : Short Answer Questions/Conceptual Questions Question 1 Write a Python script that traverses through an input string and prints its characters in different lines — two characters per line. Answer str = input("Enter the string: ") length = len(str) for a in range(0, length, 2): print(str[a:a+2]) Output Enter the string: KnowledgeBoat Kn ow le dg eB oa t Question 2 Out of the following operators, which ones can be used with strings in Python? =, -, *, /, //, %, >, <>, in, not in, <= Answer The following Python operators can be used with strings: =, *, >, in, not in, <= Question 3 What is the result of following statement, if the input is 'Fun'? print(input("...") + "trial" + "Ooty" * 3) Answer The result of the statement is: FuntrialOotyOotyOoty Question 4 Which of the following is not a Python legal string operation? (a) 'abc' + 'abc' (b) 'abc' * 3 (c) 'abc' + .3 (d) 'abc.lower() Answer 'abc' + .3 is not a legal string operation in Python. The operands of + operator should be both string or both numeric. Here one operand is string and other is numeric. This is not allowed in Python. Question 5 Can you say strings are character lists? Why? Why not? Answer Strings are sequence of characters where each character has a unique index. This implies that strings are iterable like lists but unlike lists they are immutable so they cannot be modified at runtime. Therefore, strings can't be considered as character lists. For example, str = 'cat' # The below statement # is INVALID as strings # are immutable str[0] = 'b' # Considering character lists strList = ['c', 'a', 't'] # The below statement # is VALID as lists # are mutable strList[0] = 'b' Question 6 Given a string S = "CARPE DIEM". If n is length/2 (length is the length of the given string), then what would following return? (a) S[: n] (b) S[n :] (c) S[n : n] (d) S[1 : n] (e) S[n : length - 1] Answer (a) CARPE (b) DIEM (c) (Empty String) (d) ARPE (e) DIE Question 7 From the string S = "CARPE DIEM", which ranges return "DIE" and "CAR"? Answer S[6:9] returns DIE S[:3] returns CAR Question 8 What happens when from a string slice you skip the start and/or end values of the slice? Answer If start value is skipped, it is assumed as 0 i.e. the slice begins from the start of the string. If end value is skipped, it is assumed as the last index of the string i.e. the slice extends till the end of the string. Question 9 What would the following expressions return? "Hello World".upper( ).lower( ) "Hello World".lower( ).upper( ) "Hello World".find("Wor", 1, 6) "Hello World".find("Wor") "Hello World".find("wor") "Hello World".isalpha( ) "Hello World".isalnum( ) "1234".isdigit( ) "123FGH".isdigit( ) Answer hello world HELLO WORLD -1 6 -1 False False True False Explanation upper() first converts all letters of "Hello World" to uppercase. Then "HELLO WORLD".lower() converts all letters to lowercase. lower() first converts all letters of "Hello World" to lowercase. Then "hello world".upper() converts all letters to uppercase. "Hello World".find("Wor", 1, 6) searches for the presence of substring "Wor" between 1 and 6 indexes of string "Hello World". Substring from 1 to 6 index is "ello W". As "Wor" is not present in this hence the result is False. "Hello World".find("Wor") searches for the presence of substring "Wor" in the entire "Hello World" string. Substring "Wor" starts at index 6 of "Hello World" hence the result is 6. "Hello World".find("wor") searches for the presence of substring "wor" in the entire "Hello World" string. find() performs case sensitive search so "wor" and "Wor" are different hence the result is -1. "Hello World".isalpha( ) checks if all characters in the string as alphabets. As a space is also present in the string hence it returns False. "Hello World".isalnum( ) checks if all characters in the string are either alphabets or digits. As a space is also present in the string which is neither an alphabet nor a string hence it returns False. "1234".isdigit( ) checks if all characters in the string are digits or not. As all characters are digits hence the result is True. As "FGH" in the string "123FGH" are not digits hence the result is False. Question 10 Which functions would you choose to use to remove leading and trailing white spaces from a given string? Answer lstrip() removes leading white-spaces, rstrip() removes trailing white-spaces and strip() removes leading and trailing white-spaces from a given string. Question 11 Try to find out if for any case, the string functions isalnum( ) and isalpha( ) return the same result Answer isalnum( ) and isalpha( ) return the same result in the following cases: If string contains only alphabets then both isalnum( ) and isalpha( ) return True. For example, "Hello".isalpha() and "Hello".isalnum() return True. If string contains only special characters and/or white-spaces then both isalnum( ) and isalpha( ) return False. For example, "*#".isalpha() and "*#".isalnum() return False. Question 12 Suggest appropriate functions for the following tasks: To check whether the string contains digits To find for the occurrence a string within another string To convert the first letter of a string to upper case to capitalize all the letters of the string to check whether all letters of the string are in capital letters to remove from right of a string all string-combinations from a given set of letters to remove all white spaces from the beginning of a string Answer isdigit() find() capitalize() upper() isupper() rstrip(characters) lstrip() Question 13 In a string slice, the start and end values can be beyond limits. Why? Answer String slicing always returns a subsequence and empty subsequence is a valid sequence. Thus, when a string is sliced outside the bounds, it still can return empty subsequence and hence Python gives no errors and returns empty subsequence. Question 14 Can you specify an out of bound index when accessing a single character from a string? Why? Answer We cannot specify an out of bound index when accessing a single character from a string, it will cause an error. When we use an index, we are accessing a constituent character of the string. If the index is out of bounds there is no character to return from the given index hence Python throws string index out of range error. Question 15 Can you add two strings? What effect does ' + ' have on strings? Answer Yes two strings can be added using the '+' operator. '+' operator concatenates two strings. Type B: Application Based Questions Question 1a What is the result of the following expression? print(""" 1 2 3 """) Answer 1 2 3 Question 1b What is the result of the following expression? text = "Test.\nNext line." print (text) Answer Test. Next line. Question 1c What is the result of the following expression? print ('One', ' Two ' * 2) print ('One ' + 'Two' * 2) print (len('10123456789')) Answer One Two Two One TwoTwo 11 Question 1d What is the result of the following expression? s = '0123456789' print(s[3], ", ", s[0 : 3], " - ", s[2 : 5]) print(s[:3], " - ", s[3:], ", ", s[3:100]) print(s[20:], s[2:1], s[1:1]) Answer 3 , 012 - 234 012 - 3456789 , 3456789 Question 1e What is the result of the following expression? s ='987654321' print (s[-1], s[-3]) print (s[-3:], s[:-3]) print (s[-100:-3], s[-100:3]) Answer 1 3 321 987654 987654 987 Question 2a What will be the output produced by following code fragments? y = str(123) x = "hello" * 3 print (x, y) x = "hello" + "world" y = len(x) print (y, x) Answer Output hellohellohello 123 10 helloworld Explanation str(123) converts the number 123 to string and stores in y so y becomes "123". "hello" * 3 repeats "hello" 3 times and stores it in x so x becomes "hellohellohello". "hello" + "world" concatenates both the strings so x becomes "helloworld". As "helloworld" contains 10 characters so len(x) returns 10. Question 2b What will be the output produced by following code fragments? x = "hello" + \ "to Python" + \ "world" for char in x : y = char print (y, ' : ', end = ' ') Answer Output h : e : l : l : o : t : o : : P : y : t : h : o : n : w : o : r : l : d : Explanation Inside the for loop, we are traversing the string "helloto Pythonworld" character by character and printing each character followed by a colon (:). Question 2c What will be the output produced by following code fragments? x = "hello world" print (x[:2], x[:-2], x[-2:]) print (x[6], x[2:4]) print (x[2:-3], x[-4:-2]) Answer Output he hello wor ld w ll llo wo or Explanation x[:2] ⇒ he x[:-2] ⇒ hello wor x[-2:] ⇒ ld x[6] ⇒ w x[2:4] ⇒ ll x[2:-3] ⇒ llo wo x[-4:-2] ⇒ or Question 3 Carefully go through the code given below and answer the questions based on it : theStr = " This is a test " inputStr = input(" Enter integer: ") inputlnt = int(inputStr) testStr = theStr while inputlnt >= 0 : testStr = testStr[1:-1] inputlnt = inputlnt - 1 testBool = 't' in testStr print (theStr) # Line 1 print (testStr) # Line 2 print (inputlnt) # Line 3 print (testBool) # Line 4 (i) Given the input integer 3, what output is produced by Line 1? This is a test This is a is a test is a None of these Answer Option 1 — This is a test (ii) Given the input integer 3, what output is produced by Line 2? This is a test s is a t is a test is a None of these Answer Option 2 — s is a t Explanation As input is 3 and inside the while loop, inputlnt decreases by 1 in each iteration so the while loop executes 4 times for inputlnt values 3, 2, 1, 0. 1st Iteration testStr = "This is a test" 2nd Iteration testStr = "his is a tes" 3rd Iteration testStr = "is is a te" 4th Iteration testStr = "s is a t" (iii) Given the input integer 2, what output is produced by Line 3? 0 1 2 3 None of these Answer Option 5 — None of these Explanation Value of inputlnt will be -1 as till inputlnt >= 0 the while loop will continue executing. (iv) Given the input integer 2, what output is produced by Line 4? False True 0 1 None of these Answer Option 2 — True Explanation As input is 2 and inside the while loop, inputlnt decreases by 1 in each iteration so the while loop executes 3 times for inputlnt values 2, 1, 0. 1st Iteration testStr = "This is a test" 2nd Iteration testStr = "his is a tes" 3rd Iteration testStr = "is is a te" After the while loop finishes executing, value of testStr is "is is a te". 't' in testStr returns True as letter t is present in testStr. Question 4 Carefully go through the code given below and answer the questions based on it : testStr = "abcdefghi" inputStr = input ("Enter integer:") inputlnt = int(inputStr) count = 2 newStr = '' while count <= inputlnt : newStr = newStr + testStr[0 : count] testStr = testStr[2:] #Line 1 count = count + 1 print (newStr) # Line 2 print (testStr) # Line 3 print (count) # Line 4 print (inputlnt) # Line 5 (i) Given the input integer 4, what output is produced by Line 2? abcdefg aabbccddeeffgg abcdeefgh ghi None of these Answer Option 3 — abcdeefgh Explanation Input integer is 4 so while loop will execute 3 times for values of count as 2, 3, 4. 1st Iteration newStr = newStr + testStr[0:2] ⇒ newStr = '' + ab ⇒ newStr = ab testStr = testStr[2:] ⇒ testStr = cdefghi 2nd Iteration newStr = newStr + testStr[0:3] ⇒ newStr = ab + cde ⇒ newStr = abcde testStr = testStr[2:] ⇒ testStr = efghi 3rd Iteration newStr = newStr + testStr[0:4] ⇒ newStr = abcde + efgh ⇒ newStr = abcdeefgh testStr = testStr[2:] ⇒ testStr = ghi (ii) Given the input integer 4, what output is produced by Line 3? abcdefg aabbccddeeffgg abcdeefgh ghi None of these Answer Option 4 — ghi Explanation Input integer is 4 so while loop will execute 3 times for values of count as 2, 3, 4. 1st Iteration testStr = testStr[2:] ⇒ testStr = cdefghi 2nd Iteration testStr = testStr[2:] ⇒ testStr = efghi 3rd Iteration testStr = testStr[2:] ⇒ testStr = ghi (iii) Given the input integer 3, what output is produced by Line 4? 0 1 2 3 None of these Answer Option 5 — None of these Explanation Looking at the condition of while loop — while count <= inputlnt, the while loop will stop executing when count becomes greater than inputlnt. Value of inputlnt is 3 so when loop stops executing count will be 4. (iv) Given the input integer 3, what output is produced by Line 5? 0 1 2 3 None of these Answer Option 4 — 3 Explanation The input is converted from string to integer and after that its value is unchanged in the code so line 5 prints the input integer 3. (v) Which statement is equivalent to the statement found in Line 1? testStr = testStr[2:0] testStr = testStr[2:-1] testStr = testStr[2:-2] testStr = testStr - 2 None of these Answer Option 5 — None of these Question 5 Carefully go through the code given below and answer the questions based on it : inputStr = input(" Give me a string:") biglnt = 0 littlelnt = 0 otherlnt = 0 for ele in inputStr: if ele >= 'a' and ele <= 'm': # Line 1 littlelnt = littlelnt + 1 elif ele > 'm' and ele <= 'z': biglnt = biglnt + 1 else: otherlnt = otherlnt + 1 print (biglnt) # Line 2 print (littlelnt) # Line 3 print (otherlnt) # Line 4 print (inputStr.isdigit()) # Line 5 (i) Given the input abcd what output is produced by Line 2? 0 1 2 3 4 Answer Option 1 — 0 Explanation In the input abcd, all the letters are between a and m so the condition — if ele >= 'a' and ele <= 'm' is always true. Hence, biglnt is 0. (ii) Given the input Hi Mom what output is produced by Line 3? 0 1 2 3 None of these Answer Option 3 — 2 Explanation In the input Hi Mom, only two letters i and m satisfy the condition — if ele >= 'a' and ele <= 'm'. Hence, value of littlelnt is 2. (iii) Given the input Hi Mom what output is produced by Line 4? 0 1 2 3 None of these Answer Option 4 — 3 Explanation In the input Hi Mom, 3 characters H, M and space are not between a and z. So for these 3 characters the statement in else part — otherlnt = otherlnt + 1 is executed. Hence, value of otherlnt is 3. (iv) Given the input 1+2 =3 what output is produced by Line 5? 0 1 True False None of these Answer Option 4 — False Explanation As all characters in the input string 1+2 =3 are not digits hence isdigit() returns False. (v) Give the input Hi Mom, what changes result from modifying Line 1 from if ele >= 'a' and ele <='m' to the expression if ele >= 'a' and ele < 'm'? No change otherlnt would be larger littlelnt would be larger biglnt would be larger None of these Answer Option 2 — otherlnt would be larger Explanation For letter m, now else case will be executed increasing the value of otherlnt. Question 6 Carefully go through the code given below and answer the questions based on it : in1Str = input(" Enter string of digits: ") in2Str = input(" Enter string of digits: ") if len(in1Str)>len(in2Str): small = in2Str large = in1Str else: small = in1Str large = in2Str newStr = '' for element in small: result = int(element) + int(large[0]) newStr = newStr + str(result) large = large[1:] print (len(newStr)) # Line 1 print (newStr) # Line 2 print (large) # Line 3 print (small) # Line 4 (i) Given a first input of 12345 and a second input of 246, what result is produced by Line 1? 1 3 5 0 None of these Answer Option 2 — 3 Explanation As length of smaller input is 3, for loop executes 3 times so 3 characters are added to newStr. Hence, length of newStr is 3. (ii) Given a first input of 12345 and a second input of 246, what result is produced by Line 2? 369 246 234 345 None of these Answer Option 1 — 369 Explanation For loop executes 3 times as length of smaller input is 3. 1st Iteration result = 2 + 1 ⇒ result = 3 newStr = '' + '3' ⇒ newStr = '3' large = 2345 2nd Iteration result = 4 + 2 ⇒ result = 6 newStr = '3' + '6' ⇒ newStr = '36' large = 345 3rd Iteration result = 6 + 3 ⇒ result = 9 newStr = '36' + '9' ⇒ newStr = '369' large = 45 Final value of newStr is '369'. (iii) Given a first input of 123 and a second input of 4567, what result is produced by Line 3? 3 7 12 45 None of these Answer Option 2 — 7 Explanation For loop executes 3 times as length of smaller input is 3. Initial value of large is 4567. 1st Iteration large = large[1:] ⇒ large = 567 2nd Iteration large = large[1:] ⇒ large = 67 3rd Iteration large = large[1:] ⇒ large = 7 (iv) Given a first input of 123 and a second input of 4567, what result is produced by Line 4? 123 4567 7 3 None of these Answer Option 1 — 123 Explanation As length of 123 is less than length of 4567 so 123 is assigned to variable small and gets printed in line 4. Question 7a Find the output if the input string is 'Test'. S = input("Enter String :") RS = " " for ch in S : RS = ch + RS print(S + RS) Answer Output TesttseT Explanation The for loop reverses the input string and stores the reversed string in variable RS. After that original string and reversed string are concatenated and printed. Question 7b Find the output if the input string is 'Test'. S = input("Enter String :") RS = " " for ch in S : RS = ch + 2 + RS print(S + RS) Answer The program gives an error at line RS = ch + 2 + RS. The operands to + are a mix of string and integer which is not allowed in Python. Question 8a Find the errors. Find the line numbers causing errors. S = "PURA VIDA" print(S[9] + S[9 : 15]) Answer The error is in line 2. Length of string S is 9 so its indexes range for 0 to 8. S[9] is causing error as we are trying to access out of bound index. Question 8b Find the errors. Find the line numbers causing errors. S = "PURA VIDA" S1 = S[: 10] +S[10 :] S2 = S[10] + S[-10] Answer The error is in line 3. Length of string S is 9 so its forward indexes range for 0 to 8 and backwards indexes range from -1 to -9. S[10] and S[-10] are trying to access out of bound indexes. Question 8c Find the errors. Find the line numbers causing errors. S = "PURA VIDA" S1 = S * 2 S2 = S1[-19] + S1[-20] S3 = S1[-19 :] Answer The error is in line 3. S1[-19] and S1[-20] are trying to access out of bound indexes. Question 8d Find the errors. Find the line numbers causing errors. S = "PURA VIDA" S1 = S[: 5] S2 = S[5 :] S3 = S1 * S2 S4 = S2 + '3' S5 = S1 + 3 Answer The errors are in line 4 and line 6. Two strings cannot be multiplied. A string and an integer cannot be added. Question 9 What is the output produced? (i) >>> "whenever" .find("never") (ii) >>> "whenever" .find("what") Answer (i) 3 The starting index of substring "never" in "whenever" is 3. (ii) -1 Substring "what" is not present in "whenever". Question 10 What is the output produced? (i) >>> "-".join(['123','365','1319']) (ii) >>> " ".join(['Python', 'is', 'fun']) Answer (i) '123-365-1319' (ii) 'Python is fun' Question 11 Given a string S, write expressions to print first five characters of S Ninth character of S reversed S alternate characters from reversed S Answer print(S[:5]) print(S[8]) for a in range(-1, (-len(S) - 1), -1) : print(S[a], end = '') for a in range(-1, (-len(S) - 1), -2) : print(S[a], end = '') Type C: Programming Practice/Knowledge based Questions Question 1 Write a program to count the number of times a character occurs in the given string. Solution str = input("Enter the string: ") ch = input("Enter the character to count: "); c = str.count(ch) print(ch, "occurs", c, "times") Output Enter the string: KnowledgeBoat Enter the character to count: e e occurs 2 times Question 2 Write a program which replaces all vowels in the string with '*'. Solution str = input("Enter the string: ") newStr = "" for ch in str : lch = ch.lower() if lch == 'a' \ or lch == 'e' \ or lch == 'i' \ or lch == 'o' \ or lch == 'u' : newStr += '*' else : newStr += ch print(newStr) Output Enter the string: Computer Studies C*mp*t*r St*d**s Question 3 Write a program which reverses a string and stores the reversed string in a new string. Solution str = input("Enter the string: ") newStr = "" for ch in str : newStr = ch + newStr print(newStr) Output Enter the string: computer studies seiduts retupmoc Question 4 Write a program that prompts for a phone number of 10 digits and two dashes, with dashes after the area code and the next three numbers. For example, 017-555-1212 is a legal input. Display if the phone number entered is valid format or not and display if the phone number is valid or not (i.e., contains just the digits and dash at specific places.) Solution phNo = input("Enter the phone number: ") length = len(phNo) if length == 12 \ and phNo[3] == "-" \ and phNo[7] == "-" \ and phNo[:3].isdigit() \ and phNo[4:7].isdigit() \ and phNo[8:].isdigit() : print("Valid Phone Number") else : print("Invalid Phone Number") Output Enter the phone number: 017-555-1212 Valid Phone Number ===================================== Enter the phone number: 017-5A5-1212 Invalid Phone Number Question 5 Write a program that should do the following : prompt the user for a string extract all the digits from the string If there are digits: sum the collected digits together print out the original string, the digits, the sum of the digits If there are no digits: print the original string and a message "has no digits" Sample given the input : abc123 prints abc123 has the digits 123 which sum to 6 given the input : abcd prints abcd has no digits Solution str = input("Enter the string: ") sum = 0 digitStr = '' for ch in str : if ch.isdigit() : digitStr += ch sum += int(ch) if not digitStr : print(str, "has no digits") else : print(str, "has the digits", digitStr, "which sum to", sum) Output Enter the string: abc123 abc123 has the digits 123 which sum to 6 ===================================== Enter the string: KnowledgeBoat KnowledgeBoat has no digits Question 6 Write a program that should prompt the user to type some sentence(s) followed by "enter". It should then print the original sentence(s) and the following statistics relating to the sentence(s) : Number of words Number of characters (including white-space and punctuation) Percentage of characters that are alphanumeric Hints Assume any consecutive sequence of non-blank characters is a word. Solution str = input("Enter a few sentences: ") length = len(str) spaceCount = 0 alnumCount = 0 for ch in str : if ch.isspace() : spaceCount += 1 elif ch.isalnum() : alnumCount += 1 alnumPercent = alnumCount / length * 100 print("Original Sentences:") print(str) print("Number of words =", (spaceCount + 1)) print("Number of characters =", (length + 1)) print("Alphanumeric Percentage =", alnumPercent)
Write, Run & Share Python code online using OneCompiler's Python online compiler for free. It's one of the robust, feature-rich online compilers for python language, supporting both the versions which are Python 3 and Python 2.7. Getting started with the OneCompiler's Python editor is easy and fast. The editor shows sample boilerplate code when you choose language as Python or Python2 and start coding.
OneCompiler's python online editor supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample python program which takes name as input and print your name with hello.
import sys
name = sys.stdin.readline()
print("Hello "+ name)
Python is a very popular general-purpose programming language which was created by Guido van Rossum, and released in 1991. It is very popular for web development and you can build almost anything like mobile apps, web apps, tools, data analytics, machine learning etc. It is designed to be simple and easy like english language. It's is highly productive and efficient making it a very popular language.
When ever you want to perform a set of operations based on a condition IF-ELSE is used.
if conditional-expression
#code
elif conditional-expression
#code
else:
#code
Indentation is very important in Python, make sure the indentation is followed correctly
For loop is used to iterate over arrays(list, tuple, set, dictionary) or strings.
mylist=("Iphone","Pixel","Samsung")
for i in mylist:
print(i)
While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.
while condition
#code
There are four types of collections in Python.
List is a collection which is ordered and can be changed. Lists are specified in square brackets.
mylist=["iPhone","Pixel","Samsung"]
print(mylist)
Tuple is a collection which is ordered and can not be changed. Tuples are specified in round brackets.
myTuple=("iPhone","Pixel","Samsung")
print(myTuple)
Below throws an error if you assign another value to tuple again.
myTuple=("iPhone","Pixel","Samsung")
print(myTuple)
myTuple[1]="onePlus"
print(myTuple)
Set is a collection which is unordered and unindexed. Sets are specified in curly brackets.
myset = {"iPhone","Pixel","Samsung"}
print(myset)
Dictionary is a collection of key value pairs which is unordered, can be changed, and indexed. They are written in curly brackets with key - value pairs.
mydict = {
"brand" :"iPhone",
"model": "iPhone 11"
}
print(mydict)
Following are the libraries supported by OneCompiler's Python compiler
Name | Description |
---|---|
NumPy | NumPy python library helps users to work on arrays with ease |
SciPy | SciPy is a scientific computation library which depends on NumPy for convenient and fast N-dimensional array manipulation |
SKLearn/Scikit-learn | Scikit-learn or Scikit-learn is the most useful library for machine learning in Python |
Pandas | Pandas is the most efficient Python library for data manipulation and analysis |
DOcplex | DOcplex is IBM Decision Optimization CPLEX Modeling for Python, is a library composed of Mathematical Programming Modeling and Constraint Programming Modeling |