<jupyter_start><jupyter_text>Listeleri Birleştirmek Listeleri birleştirmek için + operatöründen yararlanırız:<jupyter_code>derlemeDiller = ["C","C++","C#","Java"]
yorumlananDiller = ["Python","Perl","Ruby"]<jupyter_output><empty_output><jupyter_text>Bu iki ayrı listeyi tek bir liste haline getirelim:<jupyter_code>programlamaDilleri = derlemeDiller + yorumlananDiller
print(programlamaDilleri)<jupyter_output>['C', 'C++', 'C#', 'Java', 'Python', 'Perl', 'Ruby']<jupyter_text>kullanıcıdan girilen sayıların ortamasını hesaplayan bir program yazalım:<jupyter_code>sayilar = 0
for i in range(10):
  sayilar += int(input("Not: "))
print(sayilar/10)<jupyter_output>Not: 100
Not: 10
Not: 5
Not: 55
Not: 86
Not: 14
Not: 20
Not: 40
Not: 58
Not: 6
39.4<jupyter_text>biz burada kullanıcı tarafından girilen 10 tane sayının ortalamasını çıkardık.peki ya ortalamayla beraber kullanıcın hangi sayıları girdiğini göstermek istiyorsak ne yapmalıyız:<jupyter_code>sayilar = 0
notlar = []
for i in range(10):
  veri = int(input("{}. not: ".format(i+1)))
  sayilar += veri
  notlar += [veri]
print("Girdiğiniz notlar: ",*notlar)
print("Not ortalamanız: ",sayilar/10)
ders = "DERS NOTU ORTALAMA"
print("-"*len(ders),"\n",ders,"\n","-"*len(ders),sep="")
sayilar = 0 # int değer eklenecek için 0 değeri verdik boş bir değer
notlar = [] # listeye eleman ekleyeceğimiz için boş bir liste verdik
for i in range(4): # 4 e kadar şunları yap
  veri = int(input("{}.not: ".format(i+1))) # 1.not şeklinde kullanıcdan veri aldık
  # i + 1 eklememizin nedeni her döngüdüde 1.not değerin 1 i arttırmak içindir
  sayilar += veri # kullanıcıdan gelen veriyi sayilar değişkene ekledik
  notlar += [veri] # kullanıcıdan gelen veriyi notlar değişkenine liste olarka ekledik
print("Girdiğiniz notlar:",*notlar) # notları ayrı ayrı çıktı verdik
print("Not ortalamanız: ",sayilar/4) # girilen notların ortalamasını çıkardık<jupyter_output>------------------
DERS NOTU ORTALAMA
------------------
1.not: 95
2.not: 85
3.not: 74
4.not: 64
Girdiğiniz notlar: 95 85 74 64
Not ortalamanız:  79.5<jupyter_text>programamızıda notlar += [veri] yazmak yerine neden list(veri) şeklinde yazmadıkçünkü list() for döngüsüne eş olacak şekilde çalışır, her bir elemanı tek tek listeye çevirir: yani şu işlemler:<jupyter_code>alfabe = "abcçdefgğhıijklmnoöprsştuüvyz"
liste = list(alfabe)
print(liste)<jupyter_output>['a', 'b', 'c', 'ç', 'd', 'e', 'f', 'g', 'ğ', 'h', 'ı', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'ö', 'p', 'r', 's', 'ş', 't', 'u', 'ü', 'v', 'y', 'z']<jupyter_text>bu işlem aynıdır:<jupyter_code>liste = []
for m in alfabe:
  liste += m
print(liste)<jupyter_output>['a', 'b', 'c', 'ç', 'd', 'e', 'f', 'g', 'ğ', 'h', 'ı', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'ö', 'p', 'r', 's', 'ş', 't', 'u', 'ü', 'v', 'y', 'z']<jupyter_text>list() fonksiyonun çalışma şekli for döngüsüne benzediğinden dolayı for döngüsü nasılsa sayılar üzerinde çalışamıyorsa list() fonksiyonu da sayılar üzerinde çalışamaz.bunun nedeni sayıların karakter dizileri gibi döngü kurulabilecek bir veri tipi olmadığındandır.<jupyter_code>for i in 1234:
  print(i)
list(12345)
list("12345")<jupyter_output><empty_output><jupyter_text>yani programımızda notlar += [veri] yazmak yerine notlar += list(veri) şeklinde yazsaydık şöyle bir hatayla karşılaşırdık.<jupyter_code>notlar = []
for m in range(4):
  veri = int(input("{}.not: ".format(m+1)))
  notlar += list(veri)
print("Girdiğiniz notlar: ",*notlar)<jupyter_output>1.not: 95<jupyter_text>hata almamızın nedeni kullanıcıdan gelen veriyi int() fonksiyonuyla sayıya dönüştürdüğüm için ve sayılar da döngü kurulabilen bir veri tipi olmadığı için list() fonskiyonuna parametre olarak atayamayız. peki kullanıcıdan gelen veriyi sayıya dönüştürmeden list() fonksiyonuna parametre olarka verirsek ne olur?<jupyter_code>notlar = []
for m in range(4):
  veri = input("{}.not: ".format(i+1))
  notlar += list(veri)
print("Girdiğiniz notlar: ",*notlar)<jupyter_output>4.not: 5
4.not: 58
4.not: 85
4.not: 78
Girdiğiniz notlar:  5 5 8 8 5 7 8<jupyter_text>program hata üretmedi fakat istediğimiz sonucu da vermedi. programı çalıştırdığımızda tek hanelilerin düzgün bir şekilden fakat 1 den fazla basamaklı sayıların tek tek yazıldığı görülüyor. Bunun nedeni döngü yapacak şekilde çalışmasındandır.<jupyter_code>for i in "234":
  print(i)<jupyter_output>2
3
4<jupyter_text>kullanıcının aynı veriyi birden fazla yazmasını engeleyen bir program yazalım:<jupyter_code>liste = []
while True:
  sayi = input("Bir sayı giriniz: (çıkmak için q)")
  if sayi == "q":
    break
  sayi = int(sayi) 
  if sayi not in liste:
      liste += [sayi]
      print(liste)
  else:
    print("Bu sayıyı daha önce girdiniz!")<jupyter_output>Bir sayı giriniz: (çıkmak için q)58
[58]
Bir sayı giriniz: (çıkmak için q)58
Bu sayıyı daha önce girdiniz!
Bir sayı giriniz: (çıkmak için q)70
[58, 70]
Bir sayı giriniz: (çıkmak için q)90
[58, 70, 90]
Bir sayı giriniz: (çıkmak için q)90
Bu sayıyı daha önce girdiniz!
Bir sayı giriniz: (çıkmak için q)q
{'fraction_non_alphanumeric': 0.14389067524115756, 'fraction_numerical': 0.027331189710610933, 'mean_word_length': 5.680536912751678, 'pattern_counts': {'":': 2, '<': 36, '<?xml version=': 0, '>': 36, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '11', 'dir': 'jupyter-structured-clean-dedup', 'id': '202520', 'license': 'Apache-2.0', 'n_tokens_mistral': 2511, 'n_tokens_neox': 2276, 'n_words': 556, 'path': 'listeler ve Demetler/listeler/listeBirlestirme.ipynb', 'repo_name': 'mrtyasar/PythonLearn', 'size': '4976'}