Kihagyás

2024.11.25. Python dolgozat

Olvass el!

  1. Minden programot úgy kell elkészíteni, hogy a program bármilyen dinamikus bemenettel is helyesen működjön!
  2. Az elkészített programokban a kiíratásokban és a beolvasásnál pontosan a mintának megfelelően kell eljárni, ellenkező esetben a megoldás nem elfogadott!
  3. A kommentelt kódrészletek nem kerülnek értékelésre!

Adatbekérés

Ha valamelyik feladatban adatot kell bekérni a felhasználótól de azt nem tudod megoldani, akkor a szükséges adatokat írd meg saját változóba. Ebben az esetben pontszám levonás történik a beolvasás hiányáért, de a programod többi része pontozva lesz.

Jó munkát!

1. feladat

Írj egy programot, amely beolvas a felhasználótól egy szöveget, majd cserélje ki az összes a karaktert @ karakterre! A módosított szöveget csupa nagybetűvel írd ki!

Példa

Írj be egy szöveget: almafa

Módosított szöveg: @LM@F@

2. feladat

Írj egy programot, amely beolvas valós számokat szóközzel elválasztva a felhasználótól, majd kiírja azok átlagát 3 tizedesjegy pontossággal! Írd ki azt is, hogy mennyi volt a legnagyobb szám!

Példa

Írj be számokat szóközzel elválasztva: 5.45 10.478 15.634 20.832

Az átlag: 13.098
A legnagyobb szám: 20.832

3. feladat

Generálj egy véletlenszerű egész számot 10 és 1000 között Add meg a generált szám négyzetgyökét úgy, hogy minden esetben lefelé kerekítsd az eredményt!

Példa

A generált szám: 123

123 négyzetgyöke körülbelül: 11

4. feladat

Kérj be a felhasználótól egy egy évszámot, napot és hónapot, majd írd ki, hogy az adott nap hányadik napja az évnek és melyik napra esik!

Példa

Írj be egy évszámot: 2024
Írj be egy hónapot: 11
Írj be egy napot: 25

Az adott nap a 330. nap és Monday

Megoldás

import random
import math
import datetime

# 1. feladat
szoveg = input("Kérek egy szöveget: ")
cserelt_szoveg = szoveg.replace("a", "@")
nagybetus = cserelt_szoveg.upper()
print(nagybetus)

# 2. feladat
szoveg = input("Kérek valós számokat: ")
darabolt = szoveg.split(" ")
szamok = [float(x) for x in darabolt]

atlag = sum(szamok) / len(szamok)
atlag_kerekitve = round(atlag, 3)

legnagyobb = max(szamok)

print(f"Az átlag: {atlag_kerekitve}")
print(f"A legnagyobb szám: {legnagyobb}")

# 3. feladat
veletlen_szam = random.randint(10, 1000)
negyzetgyok = math.sqrt(veletlen_szam)
kerekites = math.floor(negyzetgyok)

print(f"{veletlen_szam} négyzetgyöke körülbelül: {kerekites}")

# 4. feladat
ev = int(input("Év: "))
honap = int(input("Hónap: "))
nap = int(input("Nap: "))

datumido = datetime.datetime(ev, honap, nap)

evnapja = datumido.strftime("%j")
hetnapja = datumido.strftime("%A")

print(f"A megadott dátum: {evnapja}. napja a {hetnapja}.")