2017-04-10 1 views
0

J'essaie de créer un jeu de Monopoly basé sur du texte. Pour cette section particulière de mon jeu, le programme devrait être capable de trouver l'espace actuel de l'utilisateur (ce qu'il fait déjà) et utiliser le nom de l'espace pour imprimer les données en corrélation avec l'espace d'un fichier texte séparé.Lecture d'une ligne entière contenant une chaîne de texte à partir d'un fichier texte en Python

par ex. Le joueur atterrit sur Whitehall, le programme recherche 'Whitehall' dans le fichier texte et imprime toute la ligne dans le fichier contenant 'Whitehall' par exemple. Whitehall; sans propriétaire unmortgaged,

Ceci est le code que j'ai actuellement, mais il ne semble pas fonctionner:

current_space = 'Whitehall' 

data = open('data.txt','r').read() 
d_lines = data.split(',') 

for d_lines in data: 
    if current_space in data: 
     print(d_lines) 
    else: 
     print('Not found') 

Je pense qu'il est en train de lire toutes les lignes lorsque Whitehall se trouve dans le fichier, mais je ne sais pas Comment régler ceci. Je utilise Python 3.5. Voici un Pastebin link dans mon fichier texte.

+1

Une raison quelconque pour 'd_lines = data.split (',')'? – shizhz

+0

Alors que le code peut différencier entre les différentes lignes de données – Anas

Répondre

0

vous devez dire:

d_lines = data.splitlines() 
for line in d_lines: 
    if current_space in line: 
     print(line) 
    else: 
     print('Not found') 

En ce moment, vos chèques condition si l'espace est en cours dans les données que je suppose que ce sera toujours.

+0

Hmm ... désolé, mais cela ne fonctionne pas non plus ... – Anas

+0

J'ai édité ma réponse. vérifier si cela fonctionne –

+0

Ahh, oui, merci. Cela semble avoir fait l'affaire. À votre santé! – Anas