Re: Python
Posted: 10 Jan 2022, 15:38
Vissa envisa användare av amerikanskt tangentbord brukade förr i tiden göra livet surt för sina vänner genom att inte skriva vanliga å, ä, ö i sina mejl. I stället skrev de konstiga bokstavskombinationer. Skriv ett program som läser in texten från ett sådant mejl som skriver ut texten så att den blir läslig. Alla förekomster av bokstavskombinationerna aa, ae, oe ska översättas till å, ä, respektive ö. Åkte fast på denna också.
1. Programmet tar in en text från användare.
2. Texten görs om till alla små bokstäver med funktionen .lower()
3. En tom sträng, r, skapas
4. En räknare i skapas
5. Medan i är mindre än längden på strängen ska while-loopen köras
6. Om bokstaven på position i är lika med a och längden på i +1 är mindre än strängens längd och indexposition av strängen +1 också är a:
7. Lägg till å till strängen r
8. Öka räknaren med 2
9. Eller om strängen på index i innehåller ett a och i+1 är mindre än strängens längd och strängens indexposition i+1 är e:
10. Lägg till ä till strängen r
11. Öka räknaren med 2
12. Eller om strängen på index i innehåller ett o och i+1 är mindre än längden på strängen och strängens indexposition i+1 innehåller ett e:
13. Öka strängen r med värdet ö
14. Öka räknaren med 2
15. Annars lägg till bokstaven på strängens indexvärde till strängen
16. Öka räknaren med 1
Code: Select all
s = input('Skriv in texten: ')
s = s.lower()
r = ''
i = 0
while i < len(s):
if s[i]=='a' and i+1<len(s) and s[i+1]=='a':
r += 'å'
i += 2
elif s[i]=='a' and i+1<len(s) and s[i+1]=='e':
r += 'ä'
i += 2
elif s[i]=='o' and i+1<len(s) and s[i+1]=='e':
r += 'ö'
i += 2
else:
r += s[i]
i += 1
print(r)
2. Texten görs om till alla små bokstäver med funktionen .lower()
3. En tom sträng, r, skapas
4. En räknare i skapas
5. Medan i är mindre än längden på strängen ska while-loopen köras
6. Om bokstaven på position i är lika med a och längden på i +1 är mindre än strängens längd och indexposition av strängen +1 också är a:
7. Lägg till å till strängen r
8. Öka räknaren med 2
9. Eller om strängen på index i innehåller ett a och i+1 är mindre än strängens längd och strängens indexposition i+1 är e:
10. Lägg till ä till strängen r
11. Öka räknaren med 2
12. Eller om strängen på index i innehåller ett o och i+1 är mindre än längden på strängen och strängens indexposition i+1 innehåller ett e:
13. Öka strängen r med värdet ö
14. Öka räknaren med 2
15. Annars lägg till bokstaven på strängens indexvärde till strängen
16. Öka räknaren med 1