Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Ezeknek a Python-os feladatoknak kéne a megoldása sürgősen!

505
feladat:
-kérd be a felhasználó nevét, életkorát és állapitsd meg, hogy mennyi idős lesz 100 év múlva és mikor született (feltételezzük, hogy a lefutás pillanatában 2023 van)

feladat:
-kérjen be egy oldalt(cm) majd azzal számolja ki egy négyzet és egy szabályos 3szög kerületét és területét

feladat:
-vegyél fel egy listát amit feltöltesz 50 db -1250 és 1250 közötti véletlen számmal
--a: rendezd a számokat aszerint külön listákba, hogy párosak vagy páratlanok
--b: keresd meg a negativ számokat és alakitsd át őket pozitiv számokká
feladat
A program kérjen be egy vezetéknevet és egy keresztnevet. Üdvözölje a felhaszánálót
Vezetéknév -- keresztnév sorrendben
Keresztnév -- vezetéknév sorrendben

feladat
A program kérjen egy számot, majd írja annak megelőzőjét, illetve rákövetkezőjét

feladat
A program kérjen be két számot, majd számolja ki azok összegét, különbségét, szorzatát és hányadosát

feladat
A programm kérjen be két változót (a és b).
Számolja ki a c változó értékét a következő képlet segítségével: c = 2a + 3b
Számolja ki a d változó értékét a következő képlet segítségével: d = c - 2a - 3b
feladat
A program kérje be az egyenlő oldaú háromszög oldalát, majd számolja ki a kerület hetedét! Az ereményt két tizedes pontossággal írja ki.

feladat
A program kérje be a kör sugarát, majd a sugár segítségével számolja ki a kör kerületét! Az eerdmény két tizedes pontosságal írja ki
A pí értéke legyen: 3,14

feladat
A program kérje be, hogy hány csillag legyen Béla jutalma a szorgalmas tanulásért. A válsz alapján a képernyőn jelenjem meg a következő szöveg: Béla jutalma (és a folytatásban a kért számú csillag)

feladat
A program kérjen be két számot és számolja ki a két szám között lévő számok összegét! (a határszámokat ne vegye figyelembe!) Írja ki a kérdéses számokat és az összegüket!

feladat
A program olvasson be egy tetszőleges számú számot (egészen addig mg 0-ra végződő számot nem írunk és írja ki a beírt számok összegét!
Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Középiskola / Informatika

Válaszok

1
# -kérd be a felhasználó nevét, életkorát és állapitsd meg, hogy mennyi idős lesz 100 év múlva és mikor született

nev = input('Név: ')
kor = int(input('Kor: '))

print('Érdekességek', nev, 'koráról:')
print(' - 100 év múlva', kor + 100, 'éves lesz')
print(' -', 2023 - kor, '-ban született')

Apró megjegyzés, hogy ezt azért nem belekalapált évszámmal szokták csinálni, hanem a gép által ismert mai dátum használatával:

import datetime

print(' -', datetime.date.today().year - kor, '-ban született')



# -kérjen be egy oldalt(cm) majd azzal számolja ki egy négyzet és egy szabályos 3szög kerületét és területét

oldal = int(input('Oldal (cm): '))

print('Egy', oldal, 'cm oldalhosszú négyzet kerülete', oldal * 4, 'cm, területe', oldal ** 2, 'cm²')
print('Egy', oldal, 'cm oldalhosszú háromszög kerülete', oldal * 3, 'cm, területe', oldal ** 2 * 1.73205080757 / 4, 'cm²')

Mivel az előző feladatban fix évszámmal számoltattak, itt a `sqrt 3 = 1.73205080757` értéket használtam, de a gyakorlatban inkább ki szoktuk számoltatni a math modul használatával:

import math

print('Egy', oldal, 'cm oldalhosszú háromszög kerülete', oldal * 3, 'cm, területe', oldal ** 2 * math.sqrt(3) / 4, 'cm²')



# -vegyél fel egy listát amit feltöltesz 50 db -1250 és 1250 közötti véletlen számmal

import random

lista = [random.randint(-1250, 1250) for _ in range(50)]

Vagy:

lista = list(map(lambda _: random.randint(-1250, 1250), range(50)))

Vagy:

lista = []
for i in range(50):
    lista.append(random.randint(-1250, 1250))

# --a: rendezd a számokat aszerint külön listákba, hogy párosak vagy páratlanok

paros = [szam for szam in lista if not szam % 2]
paratlan = [szam for szam in lista if szam % 2]

Vagy:

paros = list(filter(lambda szam: not szam % 2, lista))
paratlan = list(filter(lambda szam: szam % 2, lista))

Vagy:

paros = []
paratlan = []
for szam in lista:
    if szam % 2:
        paratlan.append(szam)
    else:
        paros.append(szam)

# --b: keresd meg a negativ számokat és alakitsd át őket pozitiv számokká
(Itt nem világos, hogy mi kellene pontosan történjen a számokkal.)

pozitivparos = [abs(szam) for szam in paros]
pozitivparatlan = [abs(szam) for szam in paratlan]

Vagy:

pozitivparos = list(map(abs, paros))
pozitivparatlan = list(map(abs, paratlan))

Vagy:

pozitivparos = []
for szam in paros:
    if szam < 0:
        pozitivparos.append(-szam)
    else:
        pozitivparos.append(szam)

pozitivparatlan = []
for szam in paratlan:
    if szam < 0:
        pozitivparatlan.append(-szam)
    else:
        pozitivparatlan.append(szam)



# A program kérjen be egy vezetéknevet és egy keresztnevet. Üdvözölje a felhaszánálót

vezeteknev = input('Vezetéknév: ')
keresztnev = input('Keresztnév: ')

print('Szervusz', vezeteknev, keresztnev)
print('Szervusz', keresztnev, vezeteknev)

Amennyiben a fordított rendben írt nevek közé vesszőt teszünk, akkor a print() által a paraméterei közt alapértelmezetten hagyott szóközök nem mutatnak jól, ezért kissé változtatni kell a kiíráson:

print('Szervusz ', keresztnev, ', ', vezeteknev, sep = '')

Vagy:

print(f'Szervusz {keresztnev}, {vezeteknev}')

Vagy:

print('Szervusz ' + keresztnev + ', ' + vezeteknev)



# A program kérjen egy számot, majd írja annak megelőzőjét, illetve rákövetkezőjét

szam = int(input('Szám: '))
print('A', szam, 'pontosan a', szam - 1, 'és', szam + 1, 'közt található')



# A program kérjen be két számot, majd számolja ki azok összegét, különbségét, szorzatát és hányadosát

szam1 = int(input('Első szám: '))
szam2 = int(input('Második szám: '))

print(szam1, 'és', szam2, 'összege', szam1 + szam2)
print(szam1, 'és', szam2, 'különbsége', szam1 - szam2)
print(szam1, 'és', szam2, 'szorzata', szam1 * szam2)
if szam2:
    print(szam1, 'és', szam2, 'hányadosa', szam1 / szam2)
else:
    print(szam1, 'és', szam2, 'hányadosa nem értelmezett')



# A programm kérjen be két változót (a és b).
(Az ilyen matematikai indíttatású fölöslegességeket soha nem értettem mit akarnak.)

a = int(input('a = '))
b = int(input('b = '))

print('c = 2a + 3b = 2 *', a, '+ 3 *', b, '=', 2 * a, '+', 3 * b, '=', c := 2 * a + 3 * b)
print('d = c - 2a - 3b =', c, '- 2 *', a, '- 3 *', b, '=', c, '-', 2 * a, '-', 3 * b, '=', d := c - 2 * a - 3 * b)



# A program kérje be az egyenlő oldaú háromszög oldalát, majd számolja ki a kerület hetedét! Az ereményt két tizedes pontossággal írja ki.

oldal = int(input('Oldal :'))

print('A háromszög kerületének hetede:', round(oldal ** 3 / 7, 2))

Vagy:

print('A háromszög kerületének hetede: %.2f' % (oldal ** 3 / 7))

Vagy:

print('A háromszög kerületének hetede: {0:.2f}'.format(oldal ** 3 / 7))

Vagy:

print(f'A háromszög kerületének hetede: {oldal ** 3 / 7:.2f}')



# A program kérje be a kör sugarát, majd a sugár segítségével számolja ki a kör kerületét! Az eerdmény két tizedes pontosságal írja ki

sugar = int(input('Sugár: '))

print('A kör kerülete:', 2 * 3.14 * sugar)

Ha a `pi` csak 2 tizedesre pontos, az eredmény sem lesz pontosabb. (Hacsak nem valós szám a sugár, de ezt nem kérte a feladat.) Ha a math modulban található pit használjuk, akkor hasonlóan kerekítünk mint az előző feladatban:

import math

print('A kör kerülete:', round(2 * math.pi * sugar, 2))

Vagy:

print('A kör kerülete: %.2f' % (2 * math.pi * sugar))

Vagy:

print('A kör kerülete: {0:.2f}'.format(2 * math.pi * sugar))

Vagy:

print(f'A kör kerülete: {2 * math.pi * sugar:.2f}')



# A program kérje be, hogy hány csillag legyen Béla jutalma a szorgalmas tanulásért. A válsz alapján a képernyőn jelenjem meg a következő szöveg: Béla jutalma (és a folytatásban a kért számú csillag)

csillag = int(input('Hány csillag legyen Béla jutalma a szorgalmas tanulásért? '))

print('Béla jutalma', '*' * csillag)

Vagy:

print('Béla jutalma', ''.join(['*' for _ in range(csillag)]))

Vagy:

print('Béla jutalma', ''.join(map(lambda _: '*', range(csillag))))

Vagy:

print('Béla jutalma ', end = '')
for _ in range(csillag):
    print('*', end = '')
print()

Vagy:

csillagsor = ''
for _ in range(csillag):
    csillagsor += '*'
print('Béla jutalma', csillagsor)



# A program kérjen be két számot és számolja ki a két szám között lévő számok összegét! (a határszámokat ne vegye figyelembe!) Írja ki a kérdéses számokat és az összegüket!

szam1 = int(input('Első szám: '))
szam2 = int(input('Második szám: '))

print(*range(szam1 + 1, szam2), sep = ' + ', end = ' = ')
print(sum(range(szam1 + 1, szam2)))

Vagy:

print(' + '.join(map(str, range(szam1 + 1, szam2))), '=', sum(range(szam1 + 1, szam2)))

Vagy:

osszeg = 0
for szam in range(szam1 + 1, szam2):
    print(szam, end = ' + ' if szam < szam2 - 1 else ' = ')
    osszeg += szam
print(osszeg)



# A program olvasson be egy tetszőleges számú számot (egészen addig mg 0-ra végződő számot nem írunk és írja ki a beírt számok összegét!

osszeg = 0
while True:
    szam = int(input('Szám (ha 0-ra végződik, megállunk): '))
    osszeg += szam
    if not szam % 10:
        break
print('Összegük:', osszeg)

Ez az első alkalom, hogy ezt a feladatot a fenti formában látom, hogy 0-ra végződő (tehát 10-el osztható) szám jelzi a beolvasás végét. Ennél a megfogalmazásnál logikusan felmerül a kérdés, hogy akkor a véget jelző számot fel kell-e dolgozni. Mivel a feladat erről egy szót sem szól, elképzelhető, hogy a megfogalmazás hibás és hagyományosan 0 kell jelölje a számsor végét:

osszeg = 0
while True:
    szam = int(input('Szám (ha 0, megállunk): '))
    if not szam:
        break
    osszeg += szam
print('Összegük:', osszeg)
Módosítva: 2 éve
0