Python kodu ile rastgele soru nasıl sorulur?

William Crusader

Hectopat
Katılım
11 Kasım 2020
Mesajlar
5.359
Makaleler
1
Çözümler
15
Daha fazla  
Cinsiyet
Erkek
Meslek
Yok
Kodun bir kısmında kod kullanıcıya bir soru soruyor. Bu sorunun rastgele fakat cevabının aynı olmasını nasıl sağlarım? Yani mesela bazen 2+7, bazen 4+5 sormasını istiyorum ama cevap hep aynı kalsın.
 
Python:
import random
sabit = random.randint(0,100)
degisen = random.randint(0,100)


name = "Boffy"
Points = 0

while(True):
    while(sabit < degisen):
        degisen = random.randint(0,100)
    print (str(sabit - degisen) + "+" + str(degisen) + "?")
    answer1 = int(input("Cevap: "))
    if answer1 == sabit:
        print ("\nDoğru cevap " +str(name)+", tebrikler! 50 puan kazandınız. Artık diğer soruya geçebiliriz.\n")
        Points = Points + 50
    else:
        print ("\nYanlış cevap, hadi diğer soruya geçelim.\n")

    degisen = random.randint(0,100)
 
Kodun bir kısmında kod kullanıcıya bir soru soruyor. Bu sorunun rastgele fakat cevabının aynı olmasını nasıl sağlarım? Yani mesela bazen 2+7, bazen 4+5 sormasını istiyorum ama cevap hep aynı kalsın.

Hocam neden aynı olsunki? Farklı olması daha iyi olmaz mıydı? Eğer sonuç doğruysa puan verirsiniz olur biter.
Mesela C# da yazdım.

[CODE lang="csharp" title="C#"]using System;
using static System.Console;
namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
int puan = 0;
Random rnd = new Random();
double s1, s2, dogrusonuc, inputsonuc;
while (true)
{
WriteLine("Puan:"+puan);
s1 = rnd.Next(0, 101);
s2 = rnd.Next(0, 101);
dogrusonuc = s1 + s2;
Write(s1+"+"+s2+"=");
inputsonuc = Convert.ToDouble(ReadLine());
if(inputsonuc == dogrusonuc)
{
WriteLine("Doğru Sonuç!");
puan = puan + 1;
}
else
{
WriteLine("Yanlış Sonuç!");
puan= puan - 1;
}
WriteLine("Yeni Soruya geçmek için herhangi bir tuşa basın.");
ReadKey(true);
Clear();
}
}
}
}
[/CODE]
 
Hocam neden aynı olsunki? Farklı olması daha iyi olmaz mıydı? Eğer sonuç doğruysa puan verirsiniz olur biter.
Mesela C# da yazdım.

[CODE lang="csharp" title="C#"]using System;
using static System.Console;
namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
int puan = 0;
Random rnd = new Random();
double s1, s2, dogrusonuc, inputsonuc;
while (true)
{
WriteLine("Puan:"+puan);
s1 = rnd.Next(0, 101);
s2 = rnd.Next(0, 101);
dogrusonuc = s1 + s2;
Write(s1+"+"+s2+"=");
inputsonuc = Convert.ToDouble(ReadLine());
if(inputsonuc == dogrusonuc)
{
WriteLine("Doğru Sonuç!");
puan = puan + 1;
}
else
{
WriteLine("Yanlış Sonuç!");
puan= puan - 1;
}
WriteLine("Yeni Soruya geçmek için herhangi bir tuşa basın.");
ReadKey(true);
Clear();
}
}
}
}
[/CODE]
Ben hayatımda hiç C# kullanmadım, nasıl anlayabilirim?
 
Ben hayatımda hiç C# kullanmadım, nasıl anlayabilirim?

Dostum öncelikle kopyala yapıştır yapmak zaten kötüdür, mümkünse buraya atılan kodları kendin yaz daha iyi öğrenirsin.
İkinci olarak gördüğün kodu analiz edip ne olduğunu öğrenmeye bak ve kendi koduna uyarla örneğin arkadaş;
Sayıları tanımlamış, sonra bir while döngüsü içinde kullanıcıya soru sorup doğruluğunu kontrol etmiş, doğruysa puan vermiş yanlışsa puan eksiltmiş. Sen de bu algoritmayı kendi kodunda uygulamayabilirsin.
 
Kendiniz yazılım alanında geliştirmek istiyorsanız öncelikle algoritmik matematik kısmında kendinizi geliştirmeniz gerekir. Bunu da herhangi bir yazılıma bile ihtiyaç duymadan yapabilirsiniz. Archived Problems - Project Euler Bu sitedeki ilk 10 problemi falan oturup bilgisayar kullanmadan kağıt kalem ile çözün ama bunu bilgisayarın çalışma mantığına uygun olarak yapın. Daha sonra HERHANGİ BİR DİLİ kullanarak istediğiniz problemi çözebilirsiniz. Programlama dili amacınınız olmasın aracınız olsun.
 
Ben hayatımda hiç C# kullanmadım, nasıl anlayabilirim?

Hocam ben size mantığını söyleyeyim siz Python'da yazın isterseniz.

Öncelikler sayi1, sayi2, sonuc, sonuc2, puan diye değişkenler tanımlıyoruz. Ardından sayi1 ve sayi2 değişkenine random sayı atıyoruz sonuc2 = sayi1 + sayi2 yapıyoruz. Ardından sonuc değişkenine input alıyoruz. Eğer sonuc == sonuc 2 ise print("doğru cevap!") ve puan++. Değilse print("yanlış cevap!") ve puan--. İstediğiniz bir yerdede puan değişkenini yazdırırsanız puanı görmüş olur kullanıcı. Umarım anlatabilmişimdir. İyi çalışmalar.🙂
 

Geri
Yukarı