en pythonClasses de début Impression d'une chaîne sur plusieurs lignes
Je prends des cours edx à la maison pour élargir mes compétences en programmation. Une des missions que j'ai rencontrées m'a bloqué. Le but est de pouvoir insérer un nombre entier et d'avoir une table de temps imprimée pour cela.
Cette table doit être divisée en colonnes et rangées. Je peux assembler les valeurs dont j'ai besoin dans une chaîne de caractères pour tous les nombres les uns par rapport aux autres en fonction de l'entrée variable. J'ai ajouté les onglets qui sont appelés entre les entiers.
Maintenant, cela est dans une chaîne et je ne peux pas l'obtenir à se rompre dans différents chutes de taille et imprimer en fonction de différentes valeurs entrées initialement.
J'ai essayé l'habillage de texte, mais j'ai eu des erreurs, peu importe comment je l'ai mis sur la base de différents exemples.
S'il vous plaît aidez-moi à trouver une solution et expliquer pourquoi cela fonctionne. J'essaie d'apprendre ceci ne pas avoir une ligne spoonfed de code qui résoudra le problème mais me laisse toujours ignorant. Aucun des indices trouvés dans le slack de cette classe ne contenait des termes ou des commandes listés dans le cours jusqu'à présent. Les lots qui n'étaient pas répertoriés cependant.
Voici ce que j'ai et s'il vous plaît ignorer les suppléments laissés par l'essai de différentes solutions.
mystery_int = 5
#You may modify the lines of code above, but don't move them!
#When you Submit your code, we'll change these lines to
#assign different values to the variables.
#This is a tough one! Stick with it, you can do it!
#
#Write a program that will print the times table for the
#value given by mystery_int. The times table should print a
#two-column table of the products of every combination of
#two numbers from 1 through mystery_int. Separate consecutive
#numbers with either spaces or tabs, whichever you prefer.
#
#For example, if mystery_int is 5, this could print:
#
#1 2 3 4 5
#2 4 6 8 10
#3 6 9 12 15
#4 8 12 16 20
#5 10 15 20 25
#
#To do this, you'll want to use two nested for loops; the
#first one will print rows, and the second will print columns
#within each row.
#
#Hint: How can you print the numbers across the row without
#starting a new line each time? With what you know now, you
#could build the string for the row, but only print it once
#you've finished the row. There are other ways, but that's
#how to do it using only what we've covered so far.
#
#Hint 2: To insert a tab into a string, use the character
#sequence "\t". For example, "1\t2" will print as "1 2".
#
#Hint 3: Need to just start a new line without printing
#anything else? Just call print() with no arguments in the
#parentheses.
#
#Hint 4: If you're stuck, try first just printing out all
#the products in one flat list, each on its own line. Once
#that's working, then worry about how to organize it into
#a table.
#Add your code here!
import textwrap
a = mystery_int
b = 1
c = 0
d = 1
e = ""
f = ""
g = ""
h = "\t"
j = 1
k = a*2
for b in range(1,a + 1):
for c in range(1,a+1):
d = b * c
e +=str(d)+","
f = str(e)
g = str.replace(f,"," ,"\t")
#textwrap.wrap(g,10)
#print(g[0:int(k)])
print(g[:k])
Vous pouvez utiliser "\ n" au lieu de "\ t" pour obtenir une nouvelle ligne au lieu d'une tabulation. Cependant, à partir des indications qui vous ont été données, il semble qu'elles s'attendent à ce que vous imprimiez les lignes individuellement, c'est-à-dire que vous fassiez et imprimez une chaîne distincte pour chaque ligne. – RuthC
Merci. Oui, c'est comment casser la chaîne en sections de différentes tailles pour correspondre à la variable initiale et les imprimer de cette façon qui me donne des ajustements. – rmcrow2