Skip to content

Commit b97b87f

Browse files
bites 225
1 parent 2f7e024 commit b97b87f

File tree

3 files changed

+70
-0
lines changed

3 files changed

+70
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,4 @@
3535
/251/README.md
3636
/252/README.md
3737
/231/README.md
38+
/225/README.md

225/convert_chars.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
PYBITES = "pybites"
2+
3+
4+
def convert_pybites_chars(text):
5+
"""Swap case all characters in the word pybites for the given text.
6+
Return the resulting string."""
7+
result = ""
8+
for key,ch in enumerate(text):
9+
# print(text[key])
10+
if ch.lower() in PYBITES:
11+
if text[key].islower():
12+
# print(text[key])
13+
result += text[key].upper()
14+
elif text[key].isupper():
15+
# print(text[key])
16+
result += text[key].lower()
17+
else:
18+
result += text[key]
19+
return result
20+
print(convert_pybites_chars("Elementum curabitur vitae nunc sed velit dignissim sodales ut."))

225/test_convert_chars.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import pytest
2+
3+
from convert_chars import convert_pybites_chars
4+
5+
6+
@pytest.mark.parametrize("arg, expected", [
7+
("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do",
8+
"LorEm IPSum dolor SIT amET, conSEcTETur adIPIScIng ElIT, SEd do"),
9+
("Vestibulum morbi blandit cursus risus at ultrices",
10+
"VESTIBulum morBI BlandIT curSuS rISuS aT ulTrIcES"),
11+
("Aliquet nibh praesent tristique magna sit amet purus gravida quis",
12+
"AlIquET nIBh PraESEnT TrISTIquE magna SIT amET PuruS gravIda quIS"),
13+
("Fames ac turpis egestas maecenas pharetra",
14+
"FamES ac TurPIS EgESTaS maEcEnaS PharETra"),
15+
("Vitae purus faucibus ornare suspendisse sed nisi lacus",
16+
"VITaE PuruS faucIBuS ornarE SuSPEndISSE SEd nISI lacuS"),
17+
("Pharetra massa massa ultricies mi quis",
18+
"pharETra maSSa maSSa ulTrIcIES mI quIS"),
19+
("Senectus et netus et malesuada fames",
20+
"sEnEcTuS ET nETuS ET malESuada famES"),
21+
("Arcu non sodales neque sodales ut etiam sit",
22+
"Arcu non SodalES nEquE SodalES uT ETIam SIT"),
23+
("Natoque penatibus et magnis dis parturient montes nascetur",
24+
"NaToquE PEnaTIBuS ET magnIS dIS ParTurIEnT monTES naScETur"),
25+
("Urna cursus eget nunc scelerisque viverra mauris in aliquam",
26+
"Urna curSuS EgET nunc ScElErISquE vIvErra maurIS In alIquam"),
27+
("Vestibulum mattis ullamcorper velit sed ullamcorper morbi tincidunt",
28+
"VESTIBulum maTTIS ullamcorPEr vElIT SEd ullamcorPEr morBI TIncIdunT"),
29+
("Tempus urna et pharetra pharetra",
30+
"tEmPuS urna ET PharETra PharETra"),
31+
("Ullamcorper a lacus vestibulum sed",
32+
"UllamcorPEr a lacuS vESTIBulum SEd"),
33+
("Cursus risus at ultrices mi",
34+
"CurSuS rISuS aT ulTrIcES mI"),
35+
("Egestas congue quisque egestas diam in arcu",
36+
"egESTaS conguE quISquE EgESTaS dIam In arcu"),
37+
("Sit amet tellus cras adipiscing enim eu",
38+
"sIT amET TElluS craS adIPIScIng EnIm Eu"),
39+
("Imperdiet sed euismod nisi porta lorem mollis aliquam",
40+
"imPErdIET SEd EuISmod nISI PorTa lorEm mollIS alIquam"),
41+
("Adipiscing tristique risus nec feugiat in fermentum posuere urna",
42+
"AdIPIScIng TrISTIquE rISuS nEc fEugIaT In fErmEnTum PoSuErE urna"),
43+
("Et magnis dis parturient montes",
44+
"eT magnIS dIS ParTurIEnT monTES"),
45+
("Elementum curabitur vitae nunc sed velit dignissim sodales ut.",
46+
"elEmEnTum curaBITur vITaE nunc SEd vElIT dIgnISSIm SodalES uT."),
47+
])
48+
def test_convert_pybites_chars(arg, expected):
49+
assert convert_pybites_chars(arg) == expected

0 commit comments

Comments
 (0)