Bonjour à tous.

Je suis complètement novice en Python, mais je fais faire le plus gros du travail par ChatGPT, et, jusqu'à maintenant, ça a plutôt bien marché, mais là nous butons tous les deux sur un point de blocage.

J'ai extrait de mon code complet ces quelques dizaines de lignes pour faire un programme de test :
Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sqlite3
import os
import time
from os import system
from time import sleep
import datetime
try:
    conn = sqlite3.connect('SQLite3/Esperance.db')
# Creation d'un objet curseur
    cursor = conn.cursor()
    T_Ext = 0
    while T_Ext < 2:
        T_Amb = 0
        while T_Amb < 3:
            Prog = 0
            while Prog < 3:
                Heure = 0
                while Heure < 2:
                    Etat = 0
                    while Etat < 2:
                        valeurs=('T_Ext','T_Amb','Prog','Heure','Etat')
                    # Recherche de l'ordre à donner dans la table Ordres
                        requete=(
                            "SELECT Ordre FROM Ordres "
                            "WHERE T_Ext = ? "
                            "AND T_Amb =? "    
                            "AND Prog =? "    
                            "AND Heure =? "   
                            "AND Etat =?"
                         )
                        sql_query = (requete % valeurs)
                        with open("espion1.txt", 'a') as espion:
                            espion.write("Requête SQL : ",sql_query)
                        cursor.execute(requete, valeurs)
                        Ordre=cursor.fetchone()
                        ordre1 = str(Ordre[0]) if Ordre else "x"
                        # Formatage de la chaîne de sortie
                        output_string = (
                            f"T_Ext = {T_Ext:d}, "
                            f"T_Amb = {T_Amb:d}, "
                            f"Prog = {Prog:d}, "
                            f"Heure = {Heure:d}, "
                            f"Etat = {Etat:d}, "
                            f"Requête SQL = {sql_query} : "
                            f"Ordre = {ordre1:s}\n"
                        )
 
 
                        with open("espion1.txt", 'a') as espion:
                            espion.write(output_string)
                        Etat = Etat+1
                    Heure=Heure+1
                Prog=Prog+1
            T_Amb=T_Amb+1
        T_Ext=T_Ext+1
# Terminer et fermer la connexion
    conn.commit()
except sqlite3.Error as e:
    print(e)
#    with open("temperature.txt", 'a') as fichier:
#        fichier.write ("Erreur SQLite3 : " + e + "\n")
finally: 
    if conn:
        conn.close()
Et voici le message d'erreur :
Traceback (most recent call last):
File "/home/yves/Testordres1.py", line 33, in <module>
sql_query = (requete % valeurs)
TypeError: not all arguments converted during string formatting
Voir ligne 33 dans le code.
J'ai tenté de commenter une par une les lignes du select, mais ça n'y change rien.
J'ai vérifié dix fois que les variables étaient bien des entiers, tel que déclaré dans la base (vérifié dix fois aussi). ChatGPT n'a repéré aucune erreur dans mon code (ou plutôt, il me les a toutes fait corriger) mais il n'y a rien à faire.

Merci a qui voudra bien se plonger là dedans ( c'est un peu long, mais Python est un peu verbeux...)

AMIcalement.