Skip to content
Snippets Groups Projects
1_feladat.md 2.07 KiB
Newer Older
  • Learn to ignore specific revisions
  • Réthelyi Bálint's avatar
    Réthelyi Bálint committed
    # 1. feladat
    
    ## 1.a interaktív mód
    
    A Python nyelv gyakran használt tudományos és matematika algoritmusok implementálására. Írassuk ki mérföldben 3 tizedes jegy pontossággal egy félmaraton hosszát az interpreter segítségével!
    
    Megoldás:
    
    ```bash
    $ python3
    >>> dist = 21097.5
    >>> dist
    21097.5
    >>> mile = 1.6093
    >>> mile
    1.6093
    >>> dist_in_miles = (dist / 1000) / mile
    >>> dist_in_miles
    13.109737152799354
    >>> print("Distance of a half maraton in miles is: {:.3f}".format(dist_in_miles))
    Distance of a half maraton in miles is: 13.110
    ```
    
    ## 1.b Feladat - Külső modul használata 
    
    **Feladat:** Írassuk ki a *google.com* (nem kell a *www* elé!) tartománynévhez rendelt levelező szervereket (MX rekord)! 
    
    Megoldás:
    
    ```bash
    $ python3
    >>> import dns.resolver
    >>> answers = dns.resolver.query('google.com', 'MX')
    <stdin>:1: DeprecationWarning: please use dns.resolver.resolve() instead
    >>> for rdata in answers:
    ...   print('Host', rdata.exchange, 'has preference', rdata.preference
    ...
    Host aspmx.l.google.com. has preference 10
    Host alt3.aspmx.l.google.com. has preference 40
    Host alt4.aspmx.l.google.com. has preference 50
    Host alt1.aspmx.l.google.com. has preference 20
    Host alt2.aspmx.l.google.com. has preference 30
    ```
    
    ## 1.c Feladat - Saját DNS modul 
    
    **Feladat:** Hosszabb kódok esetén az interaktív interpreter használata körülményes. Írjunk Python modult `dns_tool.py` 
    néven az előző feladatban megvalósított funkcióhoz!
    
    ```bash
    $ python3
    >>> import dns_tool
    >>> help()
    help> dns_tool.get_mx
    Help on function get_mx in dns_tool:
    
    dns_tool.get_mx = get_mx(dns_name, type='MX')
        # input: dns name and optional the type of the record and return all the answered data in a list or in case of exception
        # an empty list
    >>> list = dns_tool.get_mx('google.com')
    >>> for e in list:
    ...     print(e)
    ...
    ('40', 'alt3.aspmx.l.google.com.')
    ('20', 'alt1.aspmx.l.google.com.')
    ('50', 'alt4.aspmx.l.google.com.')
    ('10', 'aspmx.l.google.com.')
    ('30', 'alt2.aspmx.l.google.com.')
    >>>
    >>> list = dns_tool.get_mx('nemletezik.asd')
    >>> for e in list:
    ...     print(e)
    ... 
    >>>
    ```