#napisy
#w języku python napis to ciąg znaków ujęty w podwójne lub pojedyncze cudzysłowy
zmienna1 = "programowanie"
zmienna2 = 'środa'
print ( zmienna1)
print ( zmienna2)
#dodawanie napisów
napis1 = "dzisiaj jest"
napis2 = "środa 21.10.2026"
print ( napis1 + napis2)
print ( napis1 + " " + napis2)
print ( napis1, napis2)
#wyznaczanie długości napisu
napis1 = "programowanie"
napis2 = "jest fajne"
print ( napis1 + " " + napis2)
print ( len ( napis1) )
print ( len ( napis2) )
print ( "długość napisu - " + napis1 + " - wynosi" , len ( napis1) , "znaków" )
print ( "długość napisu - " + napis2 + " - wynosi" , len ( napis2) , "znaków" )
print ( "długość napisu - " + napis1, napis2 + " - wynosi" , len ( napis1 + napis2) , "znaków" )
#wprowadzanie napisów przez użytkownika
imie = input ( "" )
nazwisko = input ( "" )
print ( imie + " " + nazwisko)
print ( "długość imienia i nazwiska - " , imie, nazwisko, "- wynosi" , len ( imie+nazwisko) , "znaków" )
#sprawdzanie ile razy w danym napisie pojawia się znak lub ciąg znaków
imie = input ( "" )
nazwisko = input ( "" )
napis = imie + " " + nazwisko
print ( "litera m pojawia się w napisie -" , napis, "-" , napis.count ( "m" ) , "razy" )
I25hcGlzeQojdyBqxJl6eWt1IHB5dGhvbiBuYXBpcyB0byBjacSFZyB6bmFrw7N3IHVqxJl0eSB3IHBvZHfDs2puZSBsdWIgcG9qZWR5bmN6ZSBjdWR6eXPFgm93eQoKem1pZW5uYTEgPSAicHJvZ3JhbW93YW5pZSIKem1pZW5uYTIgPSAnxZtyb2RhJwoKcHJpbnQoem1pZW5uYTEpCnByaW50KHptaWVubmEyKQoKI2RvZGF3YW5pZSBuYXBpc8OzdwoKbmFwaXMxID0gImR6aXNpYWogamVzdCIKbmFwaXMyID0gIsWbcm9kYSAyMS4xMC4yMDI2IgoKcHJpbnQobmFwaXMxICsgbmFwaXMyKQpwcmludChuYXBpczEgKyAiICIgKyBuYXBpczIpCnByaW50KG5hcGlzMSwgbmFwaXMyKQoKI3d5em5hY3phbmllIGTFgnVnb8WbY2kgbmFwaXN1Cm5hcGlzMSA9ICJwcm9ncmFtb3dhbmllIgpuYXBpczIgPSAiamVzdCBmYWpuZSIKCnByaW50KG5hcGlzMSArICIgIiArIG5hcGlzMikKCnByaW50KGxlbihuYXBpczEpKQpwcmludChsZW4obmFwaXMyKSkKCnByaW50KCJkxYJ1Z2/Fm8SHIG5hcGlzdSAtICIgKyBuYXBpczEgKyAiIC0gd3lub3NpIiwgbGVuKG5hcGlzMSksICJ6bmFrw7N3IikKcHJpbnQoImTFgnVnb8WbxIcgbmFwaXN1IC0gIiArIG5hcGlzMiArICIgLSB3eW5vc2kiLCBsZW4obmFwaXMyKSwgInpuYWvDs3ciKQoKcHJpbnQoImTFgnVnb8WbxIcgbmFwaXN1IC0gIiArIG5hcGlzMSwgbmFwaXMyICsgIiAtIHd5bm9zaSIsIGxlbihuYXBpczEgKyBuYXBpczIpLCAiem5ha8OzdyIpCgojd3Byb3dhZHphbmllIG5hcGlzw7N3IHByemV6IHXFvHl0a293bmlrYQoKaW1pZSA9IGlucHV0KCIiKQpuYXp3aXNrbyA9IGlucHV0KCIiKQoKcHJpbnQoaW1pZSArICIgIiArIG5hendpc2tvKQoKcHJpbnQoImTFgnVnb8WbxIcgaW1pZW5pYSBpIG5hendpc2thIC0gIiwgaW1pZSwgbmF6d2lza28sICItIHd5bm9zaSIsIGxlbihpbWllK25hendpc2tvKSwgInpuYWvDs3ciKQoKI3NwcmF3ZHphbmllIGlsZSByYXp5IHcgZGFueW0gbmFwaXNpZSBwb2phd2lhIHNpxJkgem5hayBsdWIgY2nEhWcgem5ha8OzdwoKaW1pZSA9IGlucHV0KCIiKQpuYXp3aXNrbyA9IGlucHV0KCIiKQoKbmFwaXMgPSBpbWllICsgIiAiICsgbmF6d2lza28KCnByaW50KCJsaXRlcmEgbSBwb2phd2lhIHNpxJkgdyBuYXBpc2llIC0iLCBuYXBpcywgIi0iLCBuYXBpcy5jb3VudCgibSIpLCAicmF6eSIpCgoK