2017-06-07 2 views
-3

Versuchen, die folgenden Muster in Python zu erstellen, ohne Listen und nur Bereichsfunktion oder geschachtelte Schleifen zu verwenden.Muster in Python ohne Listen/nur Bereichsfunktion

Muster sind wie folgt.

******* 
* * * 
* * * 
******* 
* * * 
* * * 
******* 

Und

** ** 
** ** 
    ** * 
    ** * 
** ** 
** ** 
    ** * 

Ein großer Dank.

+0

... bin ich die einzige Person, die Leerzeilen sieht? –

+1

Bitte schauen Sie sich die Vorschau an, bevor Sie etwas hochladen. – user2357112

+0

Sollte jetzt da sein. –

Antwort

1

können Sie

print '*******' 
print '* * *' 
print '* * *' 
print '*******' 
print '* * *' 
print '* * *' 
print '*******' 

oder

>>> for i in range(7): 
...  if i==0 or i==3 or i==6: 
...   print '*******' 
...  else: 
...   print '* * *' 
... 
******* 
* * * 
* * * 
******* 
* * * 
* * * 
******* 

Oder es gibt viele Wege ...

Geben Sie eine genauere Frage tun!

+0

Danke Das hilft, ich habe keine Ahnung, wie man das macht. –

+0

Versuchen Sie und kommen Sie zurück mit spezifischer Frage, finden Sie viele grundlegende Tutorial in Python – Dadep

+0

Mit Ihrer Antwort konnte ich mit der anderen kommen: für j in Bereich (7): wenn j == 0 oder j == 1 oder j == 4 oder j == 5: drucken ('** **') sonst: drucken ('** **') –

1

Sie wollen also 7 x 7 Gitter mit verschiedenen Mustern von Sternen füllen? Cool. Ich werde beißen.

Wir analysieren die erste:

  • (0,0) bis (0,6)
  • (1,0) gefüllt sind, (1,3), (1,6) sind gefüllt
  • (2,0), (2,3), (2,6) gefüllt sind
  • (3,0) bis (3,6) gefüllt sind
  • (4,0), (4 , 3), (4,6) sind gefüllt
  • (5,0), (5,3), (5,6) sind gefüllt
  • (6,0) bis (6,6) gefüllt sind

Wenn y teilbar ist durch 3 (oder y % 3 == 0), dann sind alle mit * anderes x füllen füllen nur die x, die durch 3 teilbar sind (x % 3 == 0)

In Python:

for y in range(0, 7): 
    for x in range(0, 8): # an extra column for newline 
     if (x == 7): 
      print("\n", end='') 
     elif (y % 3 == 0): 
      print("*", end='') 
     elif (x % 3 == 0): 
      print("*", end='') 
     else: 
      print(" ", end='') 

Ausgang ist:

******* 
* * * 
* * * 
******* 
* * * 
* * * 
******* 

Machen Sie die gleiche Übung für die zweite Übung.

EDIT:

Es könnte aber auch schreiben, die zweite:

for y in range(0, 7): 
    for x in range(0, 8): 
     if (x == 7): 
      print("\n", end='') 
     elif ((x - y) % 4 == 0) or ((x + y) % 4 == 1): 
      print("x", end='') 
     else: 
      print(" ", end='') 

Ergebnisse in:

xx xx 
xx xx 
    xx x 
    xx x 
xx xx 
xx xx 
    xx x 
+0

Ein großes Dankeschön an Sie. –

Verwandte Themen