Python-Übungsbeispiel 23
Problem:Geben Sie das folgende Muster (Raute) aus:
* *** ***** ******* ***** *** *
Programmanalyse:Teilen Sie das Muster zunächst in zwei Teile: Die ersten vier Zeilen folgen einer Regel, und die letzten drei Zeilen folgen einer anderen Regel. Verwenden Sie eine doppelte for-Schleife, wobei die äußere Schleife die Zeilen und die innere Schleife die Spalten steuert.
Programmquellcode:
Beispiel
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from sys import stdout
for i in range(4):
for j in range(2 - i + 1):
stdout.write(' ')
for k in range(2 * i + 1):
stdout.write('*')
print('')
for i in range(3):
for j in range(i + 1):
stdout.write(' ')
for k in range(4 - 2 * i + 1):
stdout.write('*')
print('')
Beispiel (Python3)
def print_diamond(rows):
# Obere Hälfte
for i in range(1, rows, 2):
spaces = " " * ((rows - i) // 2)
stars = "*" * i
print(spaces + stars)
# Untere Hälfte
for i in range(rows, 0, -2):
spaces = " " * ((rows - i) // 2)
stars = "*" * i
print(spaces + stars)
# Anzahl der Zeilen festlegen; kann nach Bedarf angepasst werden.
rows = 7
print_diamond(rows)
# Obere Hälfte
for i in range(1, rows, 2):
spaces = " " * ((rows - i) // 2)
stars = "*" * i
print(spaces + stars)
# Untere Hälfte
for i in range(rows, 0, -2):
spaces = " " * ((rows - i) // 2)
stars = "*" * i
print(spaces + stars)
# Anzahl der Zeilen festlegen; kann nach Bedarf angepasst werden.
rows = 7
print_diamond(rows)
Die Ausgabe des obigen Beispiels ist:
* *** ***** ******* ***** *** *Andere Erweiterungen
Python 100 Beispiele