Programmation

Travailler avec des chaînes en Python

Travailler avec des chaînes en Python

La chaîne est l'un des types de données les plus populaires en python. Nous pouvons utiliser le type de données string pour stocker n'importe quelle donnée texte. En python, tout caractère entre guillemets simples ou doubles est considéré comme des chaînes. Ces caractères peuvent être n'importe lequel des caractères Unicode pris en charge en python. Dans ce tutoriel, nous apprendrons presque tout sur le type de données string en python.

Pour suivre ce tutoriel, il est recommandé d'avoir la dernière version de python installée sur votre système. Si vous avez une ancienne version de python installée sur votre système, vous pouvez suivre notre guide sur la mise à jour de python sur Linux. 

Créer des chaînes en Python

Pour créer une chaîne en python, nous devons mettre les guillemets du tableau des caractères. Python traite les guillemets simples et doubles de la même manière, nous pouvons donc utiliser n'importe lequel d'entre eux lors de la création d'une chaîne. Voir les exemples ci-dessous où nous créons une chaîne, les stockons dans des variables, puis les imprimons.

# création d'une chaîne
salutation = "Bonjour tout le monde"
# impression de la chaîne
imprimer (salutation)

En exécutant le code ci-dessus, vous obtiendrez la sortie Bonjour le monde.

créer des chaînes en python

Dans ce code, nous avons créé une chaîne Bonjour le mondeet l'a stocké dans une variable nommée salutation. Ensuite, nous utilisons la fonction d'impression Python pour afficher la chaîne stockée dans la variable. Vous obtiendrez la sortie suivante lors de l'exécution du code. Nous pouvons également créer une chaîne multiligne en utilisant des guillemets triples dans l'exemple de code ci-dessous.

var = """Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incident
ut labore et dolore magna aliqua."""
imprimer(var)

Voici la sortie.

chaîne multiligne en python

En Python, les chaînes sont des tableaux d'octets représentant des caractères Unicode. Mais il n'a pas de type de données intégré pour les caractères uniques comme en C ou C++. Toute chaîne qui a une longueur de un est considérée comme un caractère.

Longueur des cordes 

Dans de nombreuses situations, nous pouvons avoir besoin de calculer une certaine longueur de chaîne. Il existe une fonction intégrée qui peut calculer la longueur d'une chaîne. La fonction que nous utiliserons est la len() une fonction.

Pour voir un exemple pratique de la lentille() fonction, exécutez le code suivant dans votre IDE Python.

var = "Ceci est une chaîne"
print("La longueur de la chaîne est :", len(var))

Production:

longueur de la chaîne en utilisant la méthode len()

Nous pouvons également utiliser la boucle python for, dont j'ai parlé dans ce tutoriel, pour calculer la longueur d'une chaîne. 

Exemple:

var = "Ceci est une chaîne"
compte = 0
pour i dans var :
compte = compte + 1
print("La longueur de la chaîne est :", count)

Production:

longueur de la chaîne manuellement en utilisant la boucle for

Concaténation de chaînes

La concaténation de chaînes est la fusion ou la jonction de deux chaînes. Nous pouvons joindre deux chaînes facilement en utilisant l'opérateur +. Voyons un exemple de jointure de deux chaînes en python.

# création de deux chaînes
string1 = "Bonjour"
string2 = "Monde"
# fusion des deux chaînes
salutation = chaîne1 + chaîne2
imprimer (salutation)

Dans le code ci-dessus, nous avons créé deux chaînes, à savoir « Hello » et « World », et les stockons dans deux variables nommées chaîne1 et chaîne2. Ensuite, nous avons utilisé l'opérateur + pour joindre les deux chaînes et les stocker dans une variable nommée salutation et l'afficher à l'aide du imprimer() une fonction.

Production:

concaténer deux chaînes

Répétition de chaîne

Nous pouvons répéter une chaîne plusieurs fois en python en utilisant l'opérateur *. Par exemple, pour imprimer la chaîne « Fosslinux » deux fois, nous devons écrire le code suivant.

print("Fosslinux"*2)

Production:

répétition de cordes

Formatage des chaînes

Il est facile de formater des chaînes en Python. Il y a trois manières :

1. Ancien style de formatage

L'ancien style de formatage des chaînes se fait à l'aide de l'opérateur %. Nous devons utiliser des symboles spéciaux tels que " %s", "%d", "%f", "%.F". avec la chaîne, puis spécifiez le tuple de données que nous voulons formater à cet endroit. Voyons quelles sont les données acceptées par les symboles ci-dessus.

Par exemple, voir le code ci-dessous. Vous pouvez copier et exécuter le code dans votre IDE python préféré.

string1 = "C'est une chaîne formatée avec l'entier %d" %(1)
string2 = "C'est une chaîne formatée avec la chaîne %s" %("Fosslinux")
string3 = "C'est une chaîne formatée avec des données flottantes %f" %(1.01)
imprimer(chaîne1)
imprimer(chaîne2)
imprimer(chaîne3)

Production:

l'ancien style de formatage des chaînes en python

Comme nous pouvons le voir dans la sortie, nous avons formaté les chaînes avec les données entières, flottantes et de chaîne. Cette méthode de formatage de chaîne est la plus ancienne, mais elle est moins utilisée de nos jours.

2. Utiliser la méthode format()

Il s'agit d'une nouvelle technique de formatage de chaîne introduite dans Python 3. Les fonctions format() prennent les données comme argument et les remplacent dans la chaîne où l'espace réservé sont présents. 

Exemple:

string1 = "C'est une chaîne formatée avec un entier ".format(1)
string2 = "C'est une chaîne formatée avec la chaîne ".format("Fosslinux")
string3 = "C'est une chaîne formatée avec des données flottantes ".format(1.01)
imprimer(chaîne1)
imprimer(chaîne2)
imprimer(chaîne3)
print(" est un excellent site Web pour apprendre et ".format("FossLinux", "Linux", "Python"))

Nous obtiendrons la chaîne formatée en tant que sortie lors de l'exécution du code ci-dessus, comme indiqué dans l'image ci-dessous.

formatage de chaîne à l'aide de la fonction format()

3. f-strings

La dernière technique de formatage de chaîne est l'interpolation de chaîne ou f-strings, introduite dans la version 3 de python.6. Nous pouvons spécifier un nom de variable directement dans une f-string, et l'interpréteur Python remplacera le nom de la variable par la valeur de données qui lui correspond. Les f-strings commencent par la lettre f, et nous pouvons directement injecter les données dans leurs positions correspondantes. Cette technique de formatage de chaîne est devenue très populaire ces derniers jours. Pour voir une démo de son fonctionnement, copiez le code ci-dessous et exécutez-le dans votre IDE python.

string1 = f"C'est une chaîne formatée avec un entier 1"
string2 = f"C'est une chaîne formatée avec la chaîne 'fosslinux'"
string3 = f"C'est une chaîne formatée avec des données flottantes 0.01"
imprimer(chaîne1)
imprimer(chaîne2)
imprimer(chaîne3)
a = "Fosslinux"
b = "Linux"
c = "Python"
print(f"a est un excellent site Web pour apprendre b et c")

Nous avons utilisé la méthode d'interpolation de chaîne pour formater les chaînes dans le code ci-dessus. Les chaînes commençant par le caractère f sont des chaînes f. La chaîne f a simplifié notre travail et nous pouvons écrire les variables directement dans les chaînes en donnant des variables sous le espace réservé. En exécutant le code ci-dessus, nous obtiendrons la sortie suivante.

formatage de chaîne à l'aide de f-strings

Rechercher une sous-chaîne

Souvent, nous pouvons vouloir vérifier l'existence d'un caractère ou d'une sous-chaîne dans une chaîne. Cela peut être fait en utilisant le dans et pas dedans Mots-clés Python. Par exemple, pour vérifier si Bonjour est présent dans la chaîne Bonjour le monde, nous devons exécuter le code suivant.

x = "bonjour" dans "bonjour tout le monde"
imprimer(x)

En exécutant le code ci-dessus dans un IDE python, nous obtiendrons la valeur booléenne Vrai en sortie, ce qui signifie que la sous-chaîne « hello » est présente dans le « hello world ».

rechercher une sous-chaîne dans une chaîne

Voyons une autre démonstration pour savoir comment cela fonctionne d'une meilleure manière.

string = "FossLinux est un excellent site Web pour apprendre Linux et Python"
print("Fosslinux" dans la chaîne)
print("FossLinux" dans la chaîne)
print("Foss" dans la chaîne)
print("Pyt" dans la chaîne)
print("hon" dans la chaîne)
print("Python" pas dans la chaîne)

Production:

rechercher une sous-chaîne dans une chaîne en utilisant le mot-clé in

Dans le code ci-dessus, nous avons utilisé à la fois le dans et le pas dedans mots-clés pour vérifier une sous-chaîne dans la chaîne parente.

Chaîne en tant que séquence de caractères

La chaîne python est une séquence de caractères ; ils sont presque similaires à d'autres séquences ordonnées en python comme list, tuple, etc. Nous pouvons extraire des caractères individuels des chaînes de plusieurs manières, comme les décompresser à l'aide de variables et d'indexation dont je parlerai dans le prochain sujet. Nous pouvons décompresser les chaînes en les affectant à des variables. Pour voir comment cela fonctionne, copiez et exécutez simplement le code suivant dans votre IDE python préféré.

langue = 'Fosslinux'
# décompresser la chaîne en variables
a,b,c,d,e,f,g,h,i = langue
imprimer(a)
imprimer(b)
imprimer(c)
imprimer(d)
imprimer(e)
imprimer(f)
imprimer(g)
imprimer(h)
imprimer(i)

Production:

décompression des caractères à l'aide de variables

Chaînes d'indexation

L'indexation des chaînes est une technique fondamentale et populaire par laquelle nous pouvons accéder au caractère d'une chaîne et effectuer très facilement de nombreuses opérations sur les chaînes. En programmation, le comptage commence par zéro (0), donc pour obtenir le premier caractère d'une chaîne, nous devons donner zéro dans l'index. Pour voir un exemple pratique d'indexation, copiez et exécutez le code suivant dans un IDE Python.

chaîne = "Fosslinux"
print(chaîne[0])
print(chaîne[1])
print(chaîne[2])
print(chaîne[3])

Dans le code ci-dessus, nous créons d'abord une chaîne nommée Fosslinux, puis nous utilisons l'indexation de chaîne python pour obtenir les premier, deuxième, troisième et quatrième caractères de la chaîne. Nous obtiendrons la sortie suivante dans le terminal lors de l'exécution du code.

chaînes d'indexation

Python prend également en charge l'indexation négative, ce qui est très utile lorsque nous pouvons commencer à compter du côté droit. Par exemple, pour obtenir l'avant-dernier caractère d'une chaîne "Fosslinux", nous devons écrire le code ci-dessous.

chaîne = "Fosslinux"
print("L'avant-dernier terme de la chaîne est : ", string[-2])

Lors de l'exécution du code, nous obtiendrons l'avant-dernier terme de la chaîne "Fosslinux", comme indiqué dans l'image ci-dessous.

indexation négative dans les chaînes Python

Obtenir le dernier terme d'une chaîne

Parfois, nous pouvons vouloir obtenir le dernier terme de la chaîne. Nous avons deux façons de le faire : la première utilise l'indexation négative, et la seconde utilise la fonction len() avec indexation.

Pour obtenir le dernier terme de la chaîne en utilisant l'indexation négative, regardez le code ci-dessous.

chaîne = "Fosslinux"
print("Le dernier terme de la chaîne est : ", string[-1])

Production:

dernier terme utilisant une indexation négative

Nous pouvons également utiliser la fonction len() avec indexation pour obtenir le dernier terme. Pour ce faire, nous devons calculer la longueur de la chaîne, puis nous devons trouver le caractère en indexant la valeur, qui est un de moins que la longueur de la chaîne. Voir l'exemple ci-dessous.

chaîne = "Fosslinux"
longueur = longueur (chaîne)
last_index = longueur-1
print("Le dernier terme de la chaîne est : ", string[last_index])

Dans le code ci-dessus, nous avons d'abord créé une chaîne et l'avons stockée dans une variable nommée chaîne. Ensuite, nous calculons la longueur de la chaîne en utilisant la méthode len(). Comme l'indexation en python commence par zéro, nous devons soustraire un de la longueur. Ensuite, nous le passons comme un index au chaîne. On obtient ainsi le dernier caractère de la chaîne. 

Production:

dernier terme en calculant la longueur

Trancher les ficelles

En Python, nous avons une excellente technique, une forme étendue d'indexation connue sous le nom de string slicing. Cela peut être utilisé pour découper une chaîne en une sous-chaîne. Pour effectuer le découpage, nous devons donner le numéro d'index du premier caractère et du dernier caractère de la sous-chaîne dans l'index de la chaîne en mettant un point-virgule au milieu d'eux. Pour une démonstration pratique, voir l'exemple de code ci-dessous.

chaîne = "Fosslinux"
print(chaîne[1:6])
print(chaîne[0:4])

Production:

trancher des chaînes

Sauter des caractères lors du tranchage

On peut aussi sauter des caractères en découpant une chaîne. Lors du découpage d'une chaîne, nous avons la syntaxe suivante.

chaîne[début:arrêt:étape]

Le début et l'arrêt sont les numéros d'index par défaut que nous avons utilisés dans la syntaxe ci-dessus jusqu'à présent. Le paramètre step accepte un entier, qui est utilisé pour donner le nombre de caractères à laisser dans chaque étape.

Inverser les cordes

Nous pouvons inverser une chaîne facilement en utilisant la méthode de slicing. Par exemple, voir le code ci-dessous. Copiez le code ci-dessous dans votre IDE Python et exécutez-le.

chaîne = "Fosslinux"
print("La chaîne inversée de", chaîne,"est",chaîne[::-1])

Ce code inversera la chaîne « Fosslinux.” Lors de l'exécution du code, nous obtiendrons la sortie suivante.

chaîne d'inversion

Caractère d'échappement dans les chaînes

Les caractères d'échappement dans la programmation sont un excellent moyen d'ajouter des caractères non imprimables dans les chaînes. Par exemple, pour ajouter le caractère de nouvelle ligne dans les chaînes, nous utilisons le caractère d'échappement "\n". Voir le code ci-dessous pour une démo.

print("\n\n\n Bonjour\n\n Monde")

En exécutant le code, nous obtiendrons la sortie suivante.

caractères d'échappement dans les chaînes

Comme nous pouvons le voir dans le code que les nouvelles lignes sont automatiquement ajoutées à la place de "\n". C'est là que la séquence d'échappement entre en jeu. Il existe de nombreux caractères de séquence présents en python. Je vais tous les énumérer ici; vous pouvez tous les essayer pour voir comment chacun fonctionne.

Méthodes de chaîne

Nous avons appris beaucoup de choses sur les chaînes python, mais cette partie est bien plus utile que toute autre partie de cet article. Python est livré avec un grand nombre de fonctions intégrées pour travailler avec des chaînes. En les utilisant, nous pouvons facilement effectuer de nombreuses opérations sur des chaînes. 

Transformer les cas de chaîne

Nous avons des fonctions intégrées qui peuvent être utilisées pour transformer les cas de chaîne. Discutons-en tous.

chaîne.capitaliser()

Cette méthode est utilisée pour capitaliser sur la chaîne cible. Lorsque nous utilisons la méthode comme chaîne.capitaliser, il renverra la chaîne en la majuscule, je.e., transformer le premier caractère en majuscule et tous les autres caractères en minuscule. Pour voir une démo pratique de sa copie de travail et exécuter le code suivant dans votre IDE Python.

chaîne = "fosslinux"
print(chaîne.capitaliser())
Nous avons utilisé le capitaliser() méthode de l'objet String, en le mettant en majuscule. En exécutant le code, nous obtiendrons la sortie suivante.
met une chaîne en majuscule

.plus haut()

Cette méthode est utilisée pour transformer une chaîne en majuscule, je.e., met en majuscule tous les caractères présents dans la chaîne. 

Exemple:

chaîne = "Fosslinux"
print(chaîne.plus haut())

Production:

transformer une chaîne en majuscule

chaîne.plus bas()

Cette méthode est utilisée pour transformer une chaîne en minuscule, je.e., change tous les caractères présents dans la chaîne en minuscules. 

Exemple:

chaîne = "FOSSLinux"
print(chaîne.plus bas())

Production:

transformer une chaîne en majuscule

chaîne.swapcase()

C'est une excellente méthode pour échanger la casse des caractères d'une chaîne. Il convertit les caractères minuscules en majuscules et vice versa de la chaîne. Pour voir son fonctionnement, copiez et exécutez simplement le code suivant.  

chaîne = "FOSSlinux"
print(chaîne.swapcase())

Production:

échange de cas de chaîne python

chaîne.Titre()

Encore une fois, c'est une excellente méthode de manipulation de chaînes car elle transforme le premier caractère de chaque mot présent dans la chaîne en majuscule. 

Exemple:

string = "Fosslinux est un excellent"
print(chaîne.Titre())

Production:

transformer la chaîne en titre

Vous avez peut-être remarqué la différence entre le capitaliser() et le Titre() méthode. le capitaliser() La méthode ne met en majuscule que le premier caractère du premier mot de la chaîne, tandis que la Titre() la méthode met en majuscule le premier caractère de chaque mot présent dans la chaîne.

Classification des caractères

Nous avons également des méthodes pour vérifier la casse d'une chaîne, qu'elle soit majuscule, minuscule, etc. Discutons-en brièvement avec des exemples.

chaîne.isalnum()

Cette méthode est utilisée pour vérifier si une chaîne ne contient que des nombres alphanumériques ou non, je.e., tous ses caractères doivent être des nombres ou des alphabets mais aucun autre caractère, y compris les espaces. 

Exemple:

string1 = "Fosslinux123"
string2 = "Fosslinux est un excellent"
string3 = "Fosslinux @ # 123"
print(chaîne1.isalnum()) # ne contient que de l'alphabet et des chiffres
print(string2.isalnum()) # contient des espaces
print(string3.isalnum()) # contient des caractères spéciaux

Production:

recherche de nombres alphanumériques dans une chaîne

chaîne.isalpha()

Cette méthode de chaîne est similaire à la méthode ci-dessus, mais elle vérifie uniquement les alphabets, pas les nombres dans la chaîne, ce qui signifie que la chaîne ne doit contenir que des alphabets. Par exemple, exécutez le code suivant.

string1 = "Fosslinux123"
string2 = "Fosslinux"
print(chaîne1.isalpha()) # contient de l'alphabet et des nombres
print(string2.isalpha()) # ne contient que l'alphabet

Nous obtiendrons False pour le premier car il contient des nombres, et nous obtiendrons True pour le suivant car il ne contient que des alphabets. 

Production:

vérifier les alphabets dans les chaînes

chaîne.ischiffre()

Cette méthode est similaire à celle ci-dessus, mais au lieu d'alphabets, elle vérifie si la chaîne se compose uniquement de chiffres. Elle renvoie True si tous les caractères présents dans une chaîne sont des chiffres ; sinon renvoie Faux.

chaîne.isidentifier()

C'est aussi une excellente méthode de chaîne de python. En utilisant cette méthode, nous pouvons vérifier si une chaîne est un identifiant python valide ou non. J'ai discuté des règles de choix de l'identifiant python valide dans les bases du tutoriel python. 

Exemple:

string1 = "Fosslinux123"
string2 = "123Fosslinux"
string3 = "_Fosslinux"
string4 = "Fosslinux@1234"
print(chaîne1.isidentifier()) # Vrai
print(string2.isidentifier()) # False (commence par des nombres)
print(string3.isidentifier()) # Vrai
print(string4.isidentifier()) # False (contient des caractères spéciaux @)

Production:

vérification de l'identifiant dans la chaîne

chaîne.est plus bas()

Cette méthode de chaîne vérifie si tous les caractères de la chaîne sont en minuscules. Si oui, il renvoie True sinon renvoie False.

chaîne.isupper()

Cette méthode de chaîne vérifie si tous les caractères présents dans une chaîne sont en majuscule. Si oui, alors il renvoie True sinon renvoie False.

chaîne.istitle()

le istitle() La méthode de la chaîne retournera True si le premier alphabet de tous les mots présents dans une chaîne est en majuscule et que tous les autres caractères sont en minuscule.

chaîne.est imprimable()

Il renvoie True si tous les caractères présents dans la chaîne sont imprimables, je.e., caractères sans échappement ; sinon, il renvoie False. Pour voir comment cela fonctionne, exécutez le code suivant.

string1 = "Fosslinux"
string2 = "\nFosslinux"
print(chaîne1.isprintable()) # Vrai
print(string2.isprintable()) # False (Il contient le caractère de nouvelle ligne)

Production:

recherche de caractères imprimables

chaîne.isspace()

le chaîne.isspace() la méthode retournera True si tous les caractères de la chaîne sont des espaces blancs ; sinon, il renverra False.

Autres fonctions importantes

chaîne.compter()

La méthode count () de l'objet String est utilisée pour obtenir le nombre de fois qu'une valeur spécifiée se produit. 

Exemple:

chaîne = "Fosslinux"
print(chaîne.compte("s"))

Dans le code ci-dessus, nous avons utilisé le compter() méthode pour obtenir le nombre de fois où le caractère « s » apparaît dans la chaîne « Fosslinux."

Production:

compter les caractères spécifiés dans la chaîne

chaîne.commence avec()

Cette méthode de chaîne vérifie si la chaîne commence par la sous-chaîne donnée dans l'argument de la méthode. Pour voir une démonstration pratique de son fonctionnement, copiez et exécutez le code ci-dessous dans un IDE Python.

chaîne = "Fosslinux"
print(chaîne.commence par("F"))
print(chaîne.commence par("Fo"))
print(chaîne.commencepar("Foss"))
print(chaîne.commencepar("Fosss"))

En exécutant le code ci-dessus, nous obtiendrons True pour les trois premiers tandis que le dernier renvoie False, comme indiqué dans l'image de sortie ci-dessous.

la chaîne commence par

chaîne.se termine par()

Ceci est similaire à la méthode ci-dessus, mais la différence est que tandis que la précédente vérifie le début d'une chaîne, elle vérifiera à la fin de la chaîne.

chaîne.trouve()

La méthode find() de l'objet String est une méthode importante pour trouver un caractère ou une sous-chaîne dans une chaîne. Il accepte la sous-chaîne comme argument et renvoie l'index de la sous-chaîne s'il est présent dans la chaîne ; sinon renvoie -1. 

Exemple:

chaîne = "Fosslinux"
print(chaîne.trouver("lin"))

En exécutant le code ci-dessus, nous obtiendrons la sortie sous la forme 4, qui est l'index de départ de la sous-chaîne « lin » dans « Fosslinux.â€

fonction de recherche de chaîne

chaîne.remplacer()

La syntaxe de cette méthode est replace(old, new). Il faut deux arguments ; l'une est l'ancienne sous-chaîne et la nouvelle est la sous-chaîne. Il remplace toute l'ancienne sous-chaîne par la nouvelle sous-chaîne dans toute la chaîne.

Exemple:

chaîne = "Fosslinux"
print(chaîne.replace("Foss",""))
Nous n'obtiendrons que le Linux imprimé à l'écran comme Foss est remplacé par un espace lors de l'exécution du code ci-dessus.  Production: 
fonction de remplacement de chaîne

chaîne.diviser()

Cette méthode prend le séparateur comme argument, divise la chaîne en fonction du séparateur et renvoie une liste python. 

Exemple:

string = "Fosslinux est un excellent endroit pour commencer à apprendre linux et python"
print(chaîne.diviser(" "))
En exécutant le code ci-dessus, nous obtiendrons une liste des mots de chaîne. Comme nous avons utilisé la fonction split avec des espaces comme argument, elle divise donc la chaîne lorsqu'elle obtient des espaces.  Production: 
fonction de division de chaîne python

chaîne.déshabiller()

Cette méthode est utilisée pour supprimer tous les espaces blancs de début et de fin de la chaîne.

Conclusion

C'est tout sur les chaînes et son utilisation en Python. En parcourant le didacticiel, vous aurez une idée de l'utilité de travailler avec des chaînes en python. Vous pouvez également consulter le didacticiel sur l'utilisation de la boucle for en python, une boucle ultime pour l'itération en python. Enfin, avant de partir, vous voudrez peut-être examiner la méthode pour inverser une chaîne en Python, ce qui est pratique lors de la gestion des chaînes.

Bataille pour Wesnoth 1.13.6 Développement publié
Bataille pour Wesnoth 1.13.6 publiée le mois dernier, est la sixième version de développement de la 1.13.x series et il apporte un certain nombre d'am...
Comment installer League Of Legends sur Ubuntu 14.04
Si vous êtes fan de League of Legends, alors c'est l'occasion pour vous de tester League of Legends. Notez que LOL est pris en charge sur PlayOnLinux ...
Installez le dernier jeu de stratégie OpenRA sur Ubuntu Linux
OpenRA est un moteur de jeu de stratégie en temps réel libre/gratuit qui recrée les premiers jeux Westwood comme le classique Command & Conquer: Red A...