Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions Bilal6HaftaCevap1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#1'den 100'e kadar rastgele bir tam sayı seçen bir program yazınız.
# Programınız kullanıcıdan tahminler istemelidir – eğer kullanıcı
# yanlış tahmin ederse, tahminin çok yüksek veya çok düşük olduğunu yazdırmalıdır.
# Kullanıcı doğru tahmin ederse, program kullanıcının doğru cevabı tahmin etmek
# için ne kadar zaman harcadığını yazdırmalıdır.
# Kullanıcının geçerli girdi girip girmedigini kontrol etmeniz de gerekmektedir.
import time
import random
seconds1 = time.time() #programa başlama saniyesini değişkene aktarıldı.
rastgeleSayi=random.randint(0,100) #rastgele sayı oluşturuldu.
ustSayi=100 #Tahmin oyunu için üst sınır
altSayi=1 #tahmin oyunu için alt sınır
tahminSayisi=0 #tahmin kaçıncı defada doğru bilinmesi için oluşturulan değişken.
while True:
try:
#Kullanıcıdan değer girmesini istiyoruz.
kullaniciSayi=input(f"Lütfen {altSayi}-{ustSayi} arasında bir tam sayı giriniz. (Çıkmak için Q) ")
#girilen değer integer e dönüştürülürken hata verirsek except kısmından kontroller yapılıyor.
# Hata vermesse program devam ediyor.
kullaniciSayiInt=int(kullaniciSayi)
#sadece sayı girildiği artık kesin.
# Kullanıcı bizim belirlediğimiz değerin üstünde veya altında giriş yaparsa hata fırlatıyoruz.
if kullaniciSayiInt>ustSayi or kullaniciSayiInt<altSayi :
raise ValueError
#hata yok o yüzden tahmin sayısını bir arttırıyoruz.
tahminSayisi+=1
#kullanıcının tahminlerini değerlendiriyoruz.
# Eğer doğruysa kaç defada ve kaç saniyede bildiğini ekrana yazdırıyoruz.
if kullaniciSayiInt==rastgeleSayi:
seconds2=time.time()
print(f"{tahminSayisi} Seferde bildin. Bravo...")
print(f"{int(seconds2-seconds1)} saniyede tahmin ettin.")
break
#Eğer kullanıcı tahmini yanlışsa Büyük veya küçük girmesini belirtiyoruz.
# üst ve alt limitleri kullanıcının girdiği değere göre güncelliyoruz.
elif kullaniciSayiInt>rastgeleSayi:
print("Daha küçük bir sayı tahmininde bulun...")
ustSayi=kullaniciSayiInt
elif kullaniciSayiInt<rastgeleSayi:
print("Daha büyük bir sayı tahmininde bulun...")
altSayi=kullaniciSayiInt
#hata varsa
#Kullanıcı çıkış yapmak istemiş ise "break" ile while döngüsünden çıkış yaptırıyoruz.
# yoksa hatalı giriş yaptığını belirtip programa devam ediyoruz.
except ValueError :
if kullaniciSayi in ("Qq"):
print("Oyun bitmedi ama işin çıktı heralde. Müsait olduğunda tekrar bekleriz.")
break
print("Yanlış giriş yaptınız. Lütfen yeniden deneyiniz...")






18 changes: 18 additions & 0 deletions Bilal6HaftaCevap2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#Zar adlı 6 öğeli bir liste oluşturun. Bu listeyi sıfır değeriyle doldurun.
# 5000 kez tekrarlayarak 1 ile 6 arasında (tıpkı bir zar gibi) rastgele bir sayı oluşturun.
#Değer 1 ise, listedeki 0 öğesini 1 artırın, aynısı 2, 3, 4, 5 ve 6 değerleri için de geçerlidir.
# dice[0] öğesi, 1 değerinin kaç kez oluştuğunu gösterir.
# Veya genel olarak: zar[x-1], x'in kaç kez atıldığını gösterir.

#Tekrarın sonunda, listenin içeriğini 2 ondalık basamakla yüzde olarak yazdırın.
# Örneğin; "3 değerindeki atışların yüzdesi = %16,28"
import random
zar=[0,0,0,0,0,0]
for i in range(0,5000):
rastgeleSayi=random.randint(0,5) #rastgele sayı oluşturuldu.
zar[rastgeleSayi]=zar[rastgeleSayi]+1 # oluşturulan zar kendi sayısına sayıya eklendi.
j=1
for zarDeger in zar:
print(f"zarda {j}, {zarDeger} kez atıldı. %{(zarDeger/50):.2f}") #her zar kaç defa atıldı. Ekrana yüzdeliği 2 ondalıklı olacak şekilde yazıdırıldı.
j+=1

15 changes: 15 additions & 0 deletions main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import my_dice

while True:
try:
tekrarNo= input("Tekrar numarasını girin: (Çıkış Q)")
tekrarNoInt=int(tekrarNo)
sonuc=my_dice.rollDice(tekrarNoInt)
j=1
for sonucYaz in sonuc:
print(f"zar {j}, %{(sonucYaz):.2f}")
j+=1
except ValueError :
if tekrarNo in ("Qq"):
break
print("Yanlış giriş yaptınız. Lütfen yeniden deneyiniz...")
12 changes: 12 additions & 0 deletions my_dice.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import random

def rollDice(sayi):
zar=[0,0,0,0,0,0]
zarYuzde=[]
for i in range(0,sayi):
rastgeleSayi=random.randint(0,5) #rastgele sayı oluşturuldu.
zar[rastgeleSayi]=zar[rastgeleSayi]+1
for zarDeger in zar:
zarYuzde.append((zarDeger/sayi)*100)
return zarYuzde