# 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)
... 
>>>
```