Task 1
The following is my execution of the len
function
11.1: len.py
text = "Believe it or not this is a string"
print("Enter the text: " + text)
length = len(text)
print("Your text has " + str(length) + " characters.")
Output
>>> Enter the text: Believe it or not this is a string
>>> Your text has 34 characters.
Task 2
I also managed to convert a piece of text to be uppercase.
11.2: upper.py
# The text without any numbers or symbols
text = "hello"
output = text.upper()
print(output)
# The text with additional numbers and symbols
text = "123hello&&#$("
output = text.upper()
print(output)
Output
>>> HELLO
>>> 123HELLO&&#$(
As you can see above I also tested with alphanumeric characters and symbols. This was my conclusion.
The numbers and symbols stay the same but the alphabetic characters are made uppercase
What follows is a completed table of methods and outputs
Method | Inputs | Outputs |
---|---|---|
lower | "Hello" , "HELLO" | "hello" , "hello" |
capitalize | "Hello" , "HELLO" | "HELLO" , "HELLO" |
islower | "hello" , "HELLO" , "Hello" | true , false , false |
isalpha | "Hello" , "Hello1" , "111" | true , false , false |
Task 3
The following is the output of my slicing tests
Function | Result |
---|---|
print(text[4]) | o |
print(text[-3]) | r |
print(text[2:7]) | llo W |
print(text[3:]) | lo World |
print(text[:4]) | Hell |
print(text[1:-2]) | ello Wor |
print(text[2:-5]) | llo |
print(text[:-1]) | Hello worl |
The program I used to get this table is as follows
Source: 11.3 slicing.py
text = "Hello World"
print(text[4])
print(text[-3])
print(text[2:7])
print(text[3:])
print(text[:4])
print(text[1:-2])
print(text[2:-5])
print(text[:-1])
Then I also tested left select, right select and half functions.
11.3: half.py
string = "Believe it or not this is a string"
print("Enter a string: " + string)
print(string[-int(len(string) / 2):])
Output
>>> Enter a string: Believe it or not this is a string
>>> this is a string
11.3: left
from sys import argv
def parse_int_or(string: str, otherwise: int):
try:
return int(string)
except ValueError:
return otherwise
string = "Believe it or not this is a string"
print("Enter a string: " + string)
chars = parse_int_or(argv.pop(), 69)
print(string[:chars])
Output
>>> Enter a string: Believe it or not this is a string
>>> Believe it or not this is a string
11.3: right
from sys import argv
def parse_int_or(string: str, otherwise: int):
try:
return int(string)
except ValueError:
return otherwise
string = "Believe it or not this is a string"
print("Enter a string: " + string)
chars = parse_int_or(argv.pop(), 69)
end_chars = -chars
print(string[:chars])
Output
>>> Enter a string: Believe it or not this is a string
>>> Believe it or not this is a string
Task 4
Input | Output |
---|---|
apple | 0 |
pear | 2 |
lemon | -1 |
banana | 1 |
GRAPE | -1 |
The program I used to get the above table is as follows
11.4: searching.py
text = "Believe it or not this is a string"
print("Enter the text: " + text)
final = text.rfind("a")
count = text.count("a")
maximum = max(text)
minimum = min(text)
numeric = text.isnumeric()
print('Final:', final)
print('Count:', count)
print('Maximum:', maximum)
print('Minimum:', minimum)
print('Numeric:', numeric)
Output
>>> Enter the text: Believe it or not this is a string
>>> Final: 26
>>> Count: 1
>>> Maximum: v
>>> Minimum:
>>> Numeric: False