Asistanın karşılıklı soru cevabı

kodlar bu şekilde mesela müzik açma komutum var kodlarımın arasında bana istersen müzik açabilirim cevabına evet dersem müzik açma komutuna yönlendirmesini istiyorum

        if "sıkıldım" or "çok sıkıldım" or "zaman geçmiyor" in voice:
            reply = ["istersen müzik açabilirim", "sana bir hikaye okumamı ister misin"]
            r = random.choice(reply)
            engine.say(r, gender=gender, rate=rate, pitch=pitch, vol=vol)
            exit()
        if 'müzik aç' or 'müzik açar mısın' in voice:
            reply = ["Keyfini yerine getimeye hazırım", "senin için birkaç parça çalıyorum",
                     "müzik açıyorum"]
            r = random.choice(reply)
            engine.say(r, gender=gender, rate=rate, pitch=pitch, vol=vol)
            songs_dir = "C:\\Users\\Ali Tabak\\Music"
            songs = os.listdir(songs_dir)
            os.startfile(os.path.join(songs_dir, songs[0]))
            exit()
        if "sıkıldım" or "çok sıkıldım" or "zaman geçmiyor" in voice:
            reply = ["istersen müzik açabilirim", "sana bir hikaye okumamı ister misin"]
            r = random.choice(reply)
            engine.say(r, gender=gender, rate=rate, pitch=pitch, vol=vol)
            muzikAc()
        def muzikAc():
            if 'müzik aç' or 'müzik açar mısın' in voice:
                reply = ["Keyfini yerine getimeye hazırım", "senin için birkaç parça çalıyorum",
                         "müzik açıyorum"]
                r = random.choice(reply)
                engine.say(r, gender=gender, rate=rate, pitch=pitch, vol=vol)
                songs_dir

Fonksiyona bağlayarak yaptım.

2 Beğeni
            songs_dir = "C:\\Users\\Ali Tabak\\Music"
            songs = os.listdir(songs_dir)
            os.startfile(os.path.join(songs_dir, songs[0]))

müzik oynattırmak için bunları yazmama gerek var mı yoksa sadece songs_dir yazsam o yolu bulur mu

Ben zaten fonksiyonla bağladım. Sen kodu direkt koyup çalıştırırsan olacaktır.

>>> "müzik aç" or "müzik açar mısın" in voice
'müzik aç'

>>> voice
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'voice' is not defined

voice tanımlı olmamasına rağmen hata vermedi ilk satır?! Ve boş olmayan bir string döndürdüğü için bu şartın bulunduğu if’in içerisine daima girilir… Burada bir şeyler yanlış olsa gerek. Forumda direkt bununla ilgili bir soru bulamadım ama şuraya bakabilirsiniz.

1 Beğeni

maalesef çalışmıyor ben sıkıldım dediğimde müzik açmamı ister misin cevabına evet der isem müzik aç komutunu çalıştırması gerekiyor

Bir karışıklık olmuş, kafam karışmış. Kusura bakmayın.

        if "sıkıldım" or "çok sıkıldım" or "zaman geçmiyor" in voice:
            reply = ["istersen müzik açabilirim", "sana bir hikaye okumamı ister misin"]
            r = random.choice(reply)
            engine.say(r, gender=gender, rate=rate, pitch=pitch, vol=vol)
            if 'müzik aç' or 'müzik açar mısın' in voice:
                muzikAc()

        def muzikAc():
                reply = ["Keyfini yerine getimeye hazırım", "senin için birkaç parça çalıyorum",
                     "müzik açıyorum"]
                r = random.choice(reply)
                engine.say(r, gender=gender, rate=rate, pitch=pitch, vol=vol)
                songs_dir = "C:\\Users\\Ali Tabak\\Music"
                songs = os.listdir(songs_dir)
                os.startfile(os.path.join(songs_dir, songs[0]))
                exit()

Bunu dener misiniz?

aynısını hikaye okumamı ister misiniz sorusuna cevap olarak bir hikaye anlat başlığı altında def fonksiyonu olarak yaparsam olur mu

yine çalışmıyor maalesef yani cevap yok hiçbir şekilde