6 String

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

LESSON PLAN

CLASS: XII

SUBJECT: COMPUTER SCIENCE

TOPIC: STRING

TEACHER: MRS.K.BHUVANALAKSHMI

AIM:
To explain about String in python.
GENERAL OBJECTIVES:
By the end of this lesson , children will learn about the basics of string, Operations, Slicing in
stirng..
TEACHING AIDS:
White board, Marker, Text book.
WARM UP ACTIVITY:
Children are generally asked with What they know about strings in python.

DESCRIPTIVE EXPLANATION/Presentation:
Introduction:

Definition: Sequence of characters enclosed in single, double or triple quotation marks.

Basics of String:

Strings are immutable in python. It means it is unchangeable. At the same memory address,
the new value cannot be stored.

Each character has its index or can be accessed using its index.

String in python has two-way index for each location. (0, 1, 2, ……. In the forward direction
and -1, -2, -3, in the backward direction.)

Example

0 1 2 3 4 5 6 7

k e n d r i y a

-8 -7 -6 -5 -4 -3 -2 -1

The index of string in forward direction starts from 0 and in backward direction starts from -
The size of string is total number of characters present in the string. (If there are n characters
in the string, then last index in forward direction would be n-1 and last index in backward
direction would be –n.)

String are stored each character in contiguous location.

The character assignment is not supported in string because strings are immutable.

Example :

str = “kendriya”

str[2] = „y‟ # it is invalid. Individual letter assignment not allowed in python.

Traversing a String:

Access the elements of string, one character at a time. str = “kendriya”

for ch in str :

print(ch, end= „ „)

Output:

kendriya

String Operators:

a. Basic Operators (+, *)

b. Membership Operators ( in, not in)

c. Comparison Operators (==, !=, <, <=, >, >=)

Basic Operators: There are two basic operators of strings:

i. String concatenation Operator (+)

ii. String repetition Operator (*)

String concatenation Operator: The + operator creates a new string by joining the two
operand strings.

Example:

>>>”Hello”+”Python” „HelloPython‟

>>>‟2‟+‟7‟

‟27‟

>>>”Python”+”3.0”
„Python3.0‟

Note: You cannot concate numbers and strings as operands with + operator. Example:

>>>7+‟4‟ # unsupported operand type(s) for +: 'int' and 'str' It is invalid and generates an
error.

String repetition Operator: It is also known as String replication operator. It requires two
types of operands- a string and an integer number.

Example:

>>>”you” * 3 „youyouyou‟

>>>3*”you” „youyouyou‟

Note: You cannot have strings as n=both the operands with * operator. Example:

>>>”you” * “you” # can't multiply sequence by non-int of type 'str' It is invalid and
generates an error.

b. Membership Operators:

in – Returns True if a character or a substring exists in the given string; otherwise False

not in - Returns True if a character or a substring does not exist in the given string; otherwise
False

Example:

>>> "ken" in "Kendriya Vidyalaya" False

>>> "Ken" in "Kendriya Vidyalaya" True

>>>"ya V" in "Kendriya Vidyalaya" True

>>>"8765" not in "9876543"

False

Comparison Operators: These operators compare two strings character by character


according to their ASCII value.

Characters ASCII (Ordinal) Value

„0‟ to „9‟ 48 to 57

„A‟ to „Z‟ 65 to 90

„a‟ to „z‟ 97 to 122

Example:

>>> 'abc'>'abcD' False


>>> 'ABC'<'abc'

True

>>> 'abcd'>'aBcD' True

>>> 'aBcD'<='abCd'

True

Finding the Ordinal or Unicode value of a character:

Function Description

ord(<character>) Returns ordinal value of a character

chr(<value>) Returns the corresponding character

Example:

>>> ord('b') 98

>>> chr(65) 'A'

Program: Write a program to display ASCII code of a character and vice versa.

var=True

while var:

choice=int(input("Press-1 to find the ordinal value \n Press-2 to find a character of a


value\n")) if choice==1:

ch=input("Enter a character : ")

print(ord(ch))

elif choice==2:

val=int(input("Enter an integer value: ")) print(chr(val))

else:

print("You entered wrong choice")

print("Do you want to continue? Y/N") option=input()

if option=='y' or option=='Y':

var=True

else:
var=False

Slice operator with Strings:

The slice operator slices a string using a range of indices.

Syntax:

string-name[start:end]

where start and end are integer indices. It returns a string from the index start to end-1.

0 1 2 3 4 5 6 7 8 9 10 11 12
13

d a t a s t r u c t u r
e

-14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2


-1

Example:

>>> str="data structure"

>>> str[0:14]

'data structure'

>>> str[0:6]

'data s'

>>> str[2:7]

'ta st'

>>> str[-13:-6]

'ata str'

>>> str[-5:-11]

'' #returns empty string

>>> str[:14] # Missing index before colon is considered as 0. 'data structure'

>>> str[0:] # Missing index after colon is considered as 14. (length of string) 'data
structure'

>>> str[7:] 'ructure'

>>> str[4:]+str[:4] ' structuredata'


>>> str[:4]+str[4:] #for any index str[:n]+str[n:] returns original string 'data structure'

>>> str[8:]+str[:8] 'ucturedata str'

>>> str[8:], str[:8]

('ucture', 'data str')

Slice operator with step index:

Slice operator with strings may have third index. Which is known as step. It is optional.

Syntax:

string-name[start:end:step]

Example:

>>> str="data structure"

>>> str[2:9:2]

't tu'

>>> str[-11:-3:3]

'atc'

>>> str[: : -1] # reverses a string 'erutcurts atad'

Interesting Fact: Index out of bounds causes error with strings but slicing a string outside
the index does not cause an error.

Example:

>>>str[14]

IndexError: string index out of range

>>> str[14:20] # both indices are outside the bounds ' ' # returns empty
string

>>> str[10:16]

'ture'

Reason: When you use an index, you are accessing a particular character of a string, thus the
index must be valid and out of bounds index causes an error as there is no character to return
from the given index.

But slicing always returns a substring or empty string, which is valid sequence.

Built-in functions of string:

Example:
str=”data structure”

s1= “hello365” s2= “python” s3 = „4567‟

s4 = „ „

s5= „comp34%@‟

S. No. Function Description Example

1. len( ) Returns the length of a string >>>print(len(str))

14

2. capitalize( ) Returns a string with its first character capitalized. >>>str.capitalize()

'Data structure'

3. find(sub,start,end) Returns the lowest index in the string where the substring sub is found
within the slice range.Returns -1 if sub is not found.

>>> str.find("ruct",5,13)

>>> str.find("ruct",8,13)

-1

4. isalnum( ) Returns True if the characters in the string are alphabets or numbers. False
otherwise

>>>s1.isalnum( ) True

>>>s2.isalnum( ) True

>>>s3.isalnum( ) True

>>>s4.isalnum( ) False

>>>s5.isalnum( ) False

5.isalpha( ) Returns True if all characters in the string are alphabetic. False otherwise.

>>>s1.isalpha( ) False

>>>s2.isalpha( ) True

>>>s3.isalpha( ) False

>>>s4.isalpha( ) False

>>>s5.isalpha( ) False

6.isdigit( ) Returns True if all the characters in the string are digits. False otherwise.
>>>s1.isdigit( ) False

>>>s2.isdigit( ) False

>>>s3.isdigit( ) True

>>>s4.isdigit( ) False

>>>s5.isdigit( ) False

7.islower( ) Returns True if all the characters in the string are lowercase. False otherwise.

>>> s1.islower() True

>>> s2.islower()True

>>> s3.islower() False

>>> s4.islower() False

>>> s5.islower() True

8. isupper( ) Returns True if all the characters in the string are uppercase. False otherwise.

>>> s1.isupper() False

>>> s2.isupper() False

>>> s3.isupper() False

>>> s4.isupper() False

>>> s5.isupper() False

9.isspace( ) Returns True if there are only whitespace characters in


the string. False otherwise.

>>> " ".isspace() True

>>> "".isspace() False

10. lower( ) Converts a string in lowercase characters.

>>> "HeLlo".lower()

'hello'

11. upper( ) Converts a string in uppercase characters.

>>> "hello".upper()

'HELLO'

12. lstrip( ) Returns a string after removing the leading characters. (Left side).
if used without any argument, it removes the leading whitespaces.

>>> str="data structure"

>>> str.lstrip('dat') ' structure'

>>> str.lstrip('data') ' structure'

>>> str.lstrip('at') 'data structure'

>>> str.lstrip('adt') ' structure'

>>> str.lstrip('tad') ' structure'

13. rstrip( )Returns a string after removing the trailing characters. (Right side).

if used without any argument, it removes the trailing whitespaces.

>>> str.rstrip('eur') 'data struct'

>>> str.rstrip('rut') 'data structure'

>>> str.rstrip('tucers') 'data '

14. split( ) breaks a string into words and creates a list out of it

>>> str="Data Structure"

>>> str.split( ) ['Data', 'Structure']

CLASSWORK

Programs related to Strings:

1.Write a program that takes a string with multiple words and then capitalize the first
letter of each word and forms a new string out of it.

Solution:

s1=input("Enter a string : ")

length=len(s1)

a=0 end=length

s2="" #empty string

while a<length:

if a= =0:

s2=s2+s1[0].upper() a+=1
elif (s1[a]==' 'and s1[a+1]!=''): s2=s2+s1[a] s2=s2+s1[a+1].upper() a+=2

else:

s2=s2+s1[a] a+=1

print("Original string : ", s1)

print("Capitalized wrds string: ", s2)

2.Write a program that reads a string and checks whether it is a palindrome string or
not.

str=input("Enter a string : ") n=len(str)

mid=n//2 rev=-1

for i in range(mid):

if str[i]==str[rev]:

i=i+1 rev=rev-1

else:

print("String is not palindrome")

break

else:

print("String is palindrome")

3.Write a program to convert lowercase alphabet into uppercase and vice versa.

choice=int(input("Press-1 to convert in lowercase\n Press-2 to convert in uppercase\n"))


str=input("Enter a string: ")

if choice==1:

s1=str.lower() print(s1)

elif choice==2:

s1=str.upper() print(s1)

else:

print("Invalid choice entered")

4.Program to read a string and display it in reverse order- display one character per
line. Do not create a reverse string, just display in reverse order.
string1=input(“enter a string:”)

print(“the”,string1,”in reverse order is:”)

length=len(string1)

for a in range(-1,(-length-1),-1):

print(string[a])

5. Program that prints the following pattern without using any nested loop

##

###

####

#####

string = „#‟

pattern = “ “ # empty string

for a in range(5):

pattern+=string

print(pattern)

Assignment

1. Program that reads a line and prints its statistics like :

1. Number of uppercase letters

2. Number of lowercase letters

3. Number of alphabets

4. Number of digits

2. Write a program that reads a string and checks whether it is a palindrome string or
not.

You might also like