Python ödev arkadaşlar sizede antreman olur çok muhtaç durumdayım

Seçilen bir ülke ile ilgili; nüfusu, yüzölçümü, başkenti, para birimi, saat dilimi, telefon kodu, bayrağı, konuşulan diller, bulunduğu kıta, komşusu olan ülkeler, vb. gibi bilgileri gösteren bir uygulama geliştiriniz. Bu ödevi yapabilmek için derste öğrendikleriniz dışında aşağıdaki konuları da araştırıp öğrenmeniz gerekecektir:

  1. Web Service, API, REST, JSON, XML gibi kavramlar hakkında temel düzeyde bilgi sahibi olmalısınız.
  2. Ülkeler ile ilgili verileri elde etmek için uygun bir paket veya API bulmalısınız. Örnekler:
    • Paket: ttps://www.npmjs.com/package/country-json
    • RESTful API: ttps://restcountries.eu/ (ttps://github.com/apilayer/restcountries)
  3. Paket kullanırsanız tüm veriler diskinizde kayıtlı olacağı için (verdiğim örnekte JSON dosyaları olarak saklanmakta) uygulamanızı kullanırken “online” olmak gerekmez. API tercih ederseniz kullanacağınız programlama dili ile API üzerinden nasıl veri alabileceğinizi öğrenmelisiniz.
    • API kullanmanın avantajı, verileri önceden indirip saklamadığınız için her zaman güncel verilere ulaşmanızdır. Final sınavında verdiğimiz Covid19 uygulamasının her gün güncellenen verilere ihtiyacı olduğu için bu gerekli bir durumdu. Fakat ülkelerin bilgileri nadiren güncellendiği için (örn: yılda 1 defa nüfus bilgileri güncellenebilir) bu projede API kullanmak çok önemli değil.
    • Örnek API’den de tüm veriler bir defada elde edilebilir (https://restcountries.eu/rest/v2/all) ve offline çalışılacak ise elde edilen dosya üzerinden çalışılabilir. Fakat elde edeceğiniz JSON dosyasında ülkelerin bayrakları link olarak (https://restcountries.eu/data/tur.svg) verildiği için bu bayraklara offline iken erişilemeyecektir. Bu durumda en azından programınızın hata vermemesini sağlamalısınız (try-except kullanılabilir). Bir başka seçenek tüm bayraklar önceden indirilip bir klasör içinde saklanabilir (bu durumda API değil de bir paket gibi hep offline çalışılabilir).
  4. JSON formatındaki verinin içinden sizin için gerekli olanları nasıl elde edeceğinizi ve metin türünde olmayan bayrak verisini nasıl çizdirebileceğinizi öğrenmelisiniz.
    • Verdiğim örnek API’de bayraklar normal SVG biçiminde saklanmış, pakette ise tüm ülkelerin bayrak verileri 2MB büyüklüğünde “country-by-flag.json” dosyasında Base64 biçimine çevrilmiş SVG olarak saklanmıştır.
  5. Nüfusa göre ve yüzölçümüne göre TOP 10 ülkeler gibi grafikler/tablolar da verebilirsiniz. Ödevin ucu açık, yani ne kadar çok farklı bilgiye yer verirseniz, o kadar yüksek not alırsınız. Tasarım ve kullanım kolaylığı da alacağınız notu etkileyecektir.

Bu ödev şunla benzer sanki:

Bu ödevler size antreman olsun diye veriliyor, bu motivasyon ile çalışırsanız siz de ödevi yapabilirsiniz diye tahmin ediyorum. Arada takıldığınız, anlamadığınız bir adım olursa yardım etmeye çalışırız.

4 Beğeni

haklısınız pandemiye denk geldi o yüzden ülke ismi girildiğinde istenilen verileri verecek programı yazabiliyorum ama uygulama yapma kısmını beceremiyorum

Önce arayüzün nasıl olacağına karar vermelisiniz, konsol tabanlı mı yoksa pencere tabanlı mı? Verdiğiniz ödevin ucu çok açık ve biz öğretmeninizin ne istediğini bilmiyoruz.