Compréhension et correction
Fermé
diom78911
-
Modifié le 12 avril 2022 à 15:30
mamiemando Messages postés 33536 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 février 2025 - 6 mai 2022 à 13:21
mamiemando Messages postés 33536 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 février 2025 - 6 mai 2022 à 13:21
A voir également:
- Compréhension et correction
- Correction orthographe - Guide
- Telecharger clavier français avec correction - Télécharger - Divers Utilitaires
- Mode correction word - Guide
- Activer correction automatique android - Accueil - Mobile
- Correction yeux rouges windows 10 - Télécharger - Retouche d'image
3 réponses
Utilisateur anonyme
11 avril 2022 à 19:28
11 avril 2022 à 19:28
Bonjour
En Python, l’indentation est primordiale, or par défaut le site ne la conserve pas.
Pour la conserver il faut utiliser les balises de code. Voir ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
On pourra commencer à essayer de t’aider quand tu auras reposté correctement ton code.
En Python, l’indentation est primordiale, or par défaut le site ne la conserve pas.
Pour la conserver il faut utiliser les balises de code. Voir ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
On pourra commencer à essayer de t’aider quand tu auras reposté correctement ton code.
mamiemando
Messages postés
33536
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 février 2025
7 828
Modifié le 12 avril 2022 à 15:46
Modifié le 12 avril 2022 à 15:46
Bonjour,
Ton code teste si la sous-chaîne "ACTG" apparaît dans le brin d'ADN, alors que je suppose que le test que tu souhaites effectuer, c'est si chacun des caractères si le brin d'ADN n'implique que les caractères A, C, T, G.
Quatre manières de résoudre ton problème :
Bonne chance
Ton code teste si la sous-chaîne "ACTG" apparaît dans le brin d'ADN, alors que je suppose que le test que tu souhaites effectuer, c'est si chacun des caractères si le brin d'ADN n'implique que les caractères A, C, T, G.
Quatre manières de résoudre ton problème :
- soit tu itères sur chaque caractère et tu vérifie si le caractère courant apparaît dans "ACTG" (ou mieux, dans l'ensemble
{A, C, T, G}
)
def est_adn(s): if not s: return False for a in s: if a not in {'A', 'C', 'T', 'G'}: return False return True
- ce qui peut se réécrire
all
:
def est_adn(s): return s and all( a in {'A', 'C', 'T', 'G'} for a in s )
- soit tu convertis la chaîne qui contient le brin d'ADN en ensemble (
set(s)
) et tu vérifies si cet ensemble est inclu ou égal à l'ensemble{A, C, T, G}
.
def est_adn(s): return s and set(s) <= {'A', 'C', 'T', 'G'}
- soit tu utilises une expression rationnelle (c'est plus général, mais vu la simplicité du test, mais c'est l'occasion d'ajouter cette corde à ton arc pour des tests plus évolués que tu seras amené(e) à faire à l'avenir).
import re RE_ADN = re.compile(r"[ACTG]+") def est_adn(s): return bool(RE_ADN.match(s))
Bonne chance
Merci beaucoup mamiemando pour cette explication. Comme je suis un étudiant débutant, j'aimerais beaucoup échanger avec vous c'est possible et apprendre auprès de vous en suivant vos conseils.
mamiemando
Messages postés
33536
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 février 2025
7 828
6 mai 2022 à 13:21
6 mai 2022 à 13:21
Bonjour, de rien ! Niveau échange, c'est très simple, il suffit d'ouvrir sur le forum une nouvelle discussion pour chaque nouveau problème que tu rencontres ;-) Mais je ne donne pas de cours car malheureusement j'ai peu de temps libre.