2010-06-10 15 views
0

Je suis en train d'imprimer la sortie du code suivant dans deux colonnes en utilisant le lanceur python:Comment imprimer une table en python?

def main(): 
    print "This program illustrates a chaotic function" 
    n = input("How many numbers should I print? ") 
    x = input("Enter a numbers between 0 and 1: ") 
    y = input("Enter another number between 0 and 1: ") 
    for i in range(n): 
     x = 2.0 * x * (1 - x) 
     print #?? 
    for i in range(n): 
     y = 2.0 * y * (1 - y) 
     print #?? 

main() 
+1

S'il vous plaît être un peu plus précis. Quelle est votre sortie désirée? Quelle est la structure de données sous-jacente? –

+0

@fluxus vous devez spécifier dans quel framework gui – systempuntoout

+0

Quel type de table? Il y a une quantité infinie de façons de faire ce que vous demandez. Voulez-vous juste une table de texte à la console, quelque chose sur le web? C'est assez difficile d'aider quand votre question est aussi ambiguë. Y a-t-il quelque chose que vous avez essayé jusqu'ici? Êtes-vous coincé? Y at-il des messages d'erreur? Ce sont toutes des informations importantes à ajouter lorsque vous posez une question –

Répondre

3
for x, y in listOfTwotuples: 
    print x, y 

Étant donné que vous avez fourni aucun détail, je suis allé de l'avant et a supposé que vous avez J'ai une liste de deux tuples. Mettez à jour votre question avec plus d'informations et je mettrai à jour ma réponse pour correspondre!

modifier: avec des détails réels maintenant

Si dans chaque boucle de stocker les numéros dans une liste, vous pouvez alors utiliser zip pour obtenir le format nécessaire pour utiliser mon extrait de code ci-dessus.

Donc, après avoir lu l'entrée en (attention à input par la manière, en utilisant raw_input est mieux, google pourquoi):

xs = [] 
ys = [] 
for i in range(n): 
    xs.append(2.0 * x * (1 - x)) 
for i in range(n): 
    ys.append(2.0 * y * (1 - y)) 

vous pouvez utiliser zip pour appliquer mon extrait de code ci-dessus:

for x, y in zip(xs, ys): 
    print x, y 

zip prend une liste [0, 1, 2, ...] et une autre [10, 20, 30, ...] pour produire une liste de tuples avec ces listes [(0, 10), (1, 20), (2, 30), ...].

+0

Ok J'essaie d'imprimer la sortie du code suivant en utilisant le lanceur python: def main(): \t print "Ce programme illustre une fonction chaotique" \t n = entrée ("Combien de numéros dois-je imprimer? ") \t x = entrée (" Entrez un nombre entre 0 et 1:") \t y = entrée ("Entrez un autre nombre entre 0 et 1:") \t pour i dans l'intervalle (n): \t \t x = 2.0 * x * (1 - x) \t \t \t pour i dans la fourchette (n): \t \t \t y = 2,0 * y * (1 - y) impression? \t \t \t main() – fluxus

+0

Ajouté à la question initiale, et mettra à jour ma réponse comme promis –

+0

Si vous vouliez imprimer le texte dans les colonnes, vous pouvez utiliser les onglets comme ceci: 'print « x \ ty » # newline pour x, y dans zip (xs, ys): #newline print str (x) + '\ t' + str (y) ' – None

2
>>>print "a table in python? using two columns" 
a table in python? using two columns 

;-)

+0

+1, bien que vous ayez oublié un retour chariot. – mawimawi

+0

Édité, merci :-) – zovision

1

Si tout ce que vous voulez est un x et une valeur y sur chaque ligne, puis une fois les préliminaires sont faites, vous pouvez dire:

for i in range(n): 
    x = 2 * x * (1 - x) 
    y = 2 * y * (1 - y) 
    print x,y 
+0

c'était exactement cela merci beaucoup – fluxus

Questions connexes