# -*- coding: utf-8 -*-
import os
import time
import random
import requests
from bs4 import BeautifulSoup
# Hedef siteye bir istekte bulunuyoruz.
r = requests.get('https://blog.konusarakogren.com/en-cok-kullanilan-ingilizce-kelimeler-ve-anlamlari/#a-ile-baslayan-ingilizce-kelimeler')
# BeautifulSoup modülü ile sitenin içeriğini 'html.parser'
# ile parse edip source değişkenine atıyoruz.
source = BeautifulSoup(r.content, 'html.parser')
# find_all metodu ile sitedeki tüm 'td' etiketleri üzerinde geziyoruz.
# özel işaretçisi 'class' olan ve ismi de 'column-1' olan tüm
# 'td' etiketlerini search_english_words değişkenine atıyoruz.
search_english_words = source.find_all('td', {'class':'column-1'})
# Aynı işlemi Türkçe kelimeler için de yapıyoruz.
search_turkish_words = source.find_all('td', {'class':'column-2'})
def words():
# Kelimeleri ayrı ayrı barındırmak için 2 tane boş liste oluşturduk.
english_words = []
turkish_words = []
# Siteden çektiğimiz kelimeler üzerinde for döngüsü ile geziyoruz.
# Türkçe ve İngilizce kelimeleri ayıklıyoruz.
for e, t in zip(search_english_words, search_turkish_words):
english_words += e
turkish_words += t
# Sözlüğümüzü oluşturduk.
dictionary = {}
# Ayıklanmış kelimeler üzerinde geziyoruz. İngilizce kelimeleri
# key olarak, Türkçe kelimeleri de value olarak sözlüğümüze atıyoruz.
for x, y in zip(english_words, turkish_words):
dictionary[x] = y
# play() fonksiyonumuzda sözlüğümüzü kullanabilmemiz için
# sözlüğümüzü return ediyoruz
return dictionary
def play():
while True:
# words() fonksiyonunda return ettiğimiz sözlüğümüzün
# key lerini list() metoduyla listeye çevirip
# bize rastgele bir kelime döndürmesi için
# choice() metoduna parametre olarak veriyoruz.
mix = random.choice(list(words().keys()))
# Doğru cevabı elimizde tutmak için
# sözlüğümüzün key leri içinde mix değişkeninde
# çıkan rastgele kelime hangi key e denk geliyorsa
# o key i correct_answer değişkenimize atıyoruz.
correct_answer = words()[mix]
# Soruyu soruyoruz.
quest = input(f'{mix}: ')
# Kullanıcı girdisi correct_answer ile eşleşiyorsa
if quest == correct_answer:
print('\nCorrect!')
# 3 saniyeliğine programı uyutuyoruz
time.sleep(3)
# Görüntü kirliliği olmaması için
# her sorudan sonra terminali temizliyoruz.
# Bu komut hem windows hem de Linux'da çalışır.
os.system('cls||clear')
# Kullanıcı girdisi 'q' ise döngüyü bitir.
elif quest == 'q':
break
# Kullanıcı girdisi correct_answer ile eşleşmediği
# sürece tüm durumlara karşı bu bloğu çalıştırıyoruz.
else:
print(f'\nWrong! : {correct_answer}')
time.sleep(3)
os.system('cls||clear')
#Fonksiyonumuzu çağırıyoruz.
play()
1 Beğeni