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