Même si vous vous souvenez de la grammaire du langage de programmation Comment écrire Je pense qu'il y a beaucoup de gens qui ne comprennent toujours pas.
Il s'agit d'un cours d'amélioration de la programmation pour ces personnes. Si vous voulez réfléchir, arrêtez la vidéo Pensez à un programme.
Cliquez ici pour la vidéo de commentaire
Le thème cette fois est «essayez d'écrire une étoile». Créons la fonction de dessin d'étoile suivante.
conditions:
n =Nombre de lignes
def star(n):
En traitement
Dessine n étoiles au nième stade
Par exemple
star(5)
Après l'exécution, cela ressemble à ce qui suit Créons une fonction qui peut être affichée.
★ ★★ ★★★ ★★★★ ★★★★★
Dessine une étoile en n étapes pour former un triangle
star(5)
Bouche Bouche Bouche Bouche Bouche Bouche Bouche Bouche Bouche Bouche Bouche Bouche ★★★★★ Bouche Bouche ★★★★★★★ Bouche ★★★★★★★★★
Dessine une étoile comme dessiner un diamant en n étapes
star(9)
Bouche Bouche Bouche Bouche Bouche Bouche Bouche Bouche Bouche ★ Bouche Bouche Bouche Bouche ★ Bouche Bouche ★ Bouche Bouche ★ Bouche Bouche Bouche Bouche ★ Bouche ★ Bouche Bouche Bouche Bouche Bouche ★ Bouche ★ Bouche Bouche Bouche Bouche ★ Bouche Bouche Bouche ★ Bouche Bouche ★ Bouche Bouche Bouche Bouche ★ Bouche Bouche Bouche Bouche Bouche Bouche Bouche Bouche
star(10)
Bouche Bouche Bouche Bouche Bouche Bouche Bouche Bouche ★ Bouche Bouche ★ Bouche Bouche Bouche Bouche ★ Bouche Bouche Bouche ★ Bouche Bouche ★ Bouche Bouche Bouche Bouche Bouche ★ Bouche ★ Bouche Bouche Bouche Bouche Bouche Bouche ★ ★ Bouche Bouche Bouche Bouche Bouche Bouche ★ Bouche ★ Bouche Bouche Bouche Bouche Bouche ★ Bouche Bouche Bouche ★ Bouche Bouche Bouche ★ Bouche Bouche Bouche ★ Bouche Bouche ★ Bouche Bouche Bouche Bouche Bouche Bouche Bouche Bouche
Maintenant, réfléchissons-y.
Tout d'abord, vous pouvez imprimer les caractères avec la fonction print
.
Parce qu'il y a n étoiles dans la nième étape Parce que le nombre change à chaque fois
Pour faire ce genre de répétition
Utilisez l'instruction for
.
def star(n):
for i in range(n):
print('★'*(i+1))
star(5)
Avec la fonction range
Vous pouvez générer des alternatives aux nombres.
Les nombres commencent à 0, alors ajoutez-leur 1.
En Python, quand il s'agit de personnages
Parce que vous pouvez exprimer la répétition avec `` * ''
Utilisez la fonction print
pour imprimer des caractères pour n
étapes
Si vous l'affichez, il est terminé.
Tout d'abord, recherchez le montant total en fonction du nombre de lignes saisi comme argument. Le nombre d'étoiles produites dans une forme pyramidale est "nombre de lignes x 2 -1".
Puis sortie
"Bouche gauche de l'étoile"
★
"Bouche droite de l'étoile"
Divisez-le en 3 parties et calculez le nombre de chacune.
Une fois le nombre d'étoiles décidé, soustrayez-le de l'ensemble Divisez par 2 pour obtenir le nombre de bouches extérieures.
C'est devenu une telle fonction.
def star(n):
tmp = n*2-1
for i in range(n):
s = ((i+1)*2-1)
k = (tmp - s)//2
res = 'bouche'*k + '★'*s + 'bouche'*k
print(res)
star(5)
Je pense qu'il faudra du temps aux utilisateurs avancés pour le résoudre.
Premièrement, lorsque le nombre de lignes saisies est impair Le processus change lorsque le nombre est pair.
En haut et en bas du diamant Notez que le processus va changer.
«Embouchure gauche du diamant» «Cadre extérieur et bouche de ★ pour dessiner en forme de diamant» «Bouche droite du diamant»
Pensez séparément Si vous calculez le nombre de chaque pièce et connectez Vous pouvez atteindre la bonne réponse.
Considérez le nombre en premier dans la branche conditionnelle de l'instruction if Considérez une ligne de caractères à afficher.
Vous pouvez dessiner une étoile avec un code comme celui-ci.
def star(n):
for i in range(n):
s = (i+1)*2-1
k = (i-n//2) if (i+1>n//2) else (n - s)//2
w = (n-(k*2)-2) if (i+1>n//2) else (i*2 if n%2==0 else i*2-1)
res = 'bouche'*k
if (i+1)==1 or (i+1)==n:
res += '★★' if n%2==0 else '★'
else:
res += '★' + 'bouche'*w + '★'
res +='bouche'*k
print(res)
Puisqu'il s'agit d'un exemple de référence, il est correct s'il y a un résultat.
Comment était-ce?
L'idée de la programmation Êtes-vous venu?
Je voudrais continuer à le faire Pour ceux qui souhaitent améliorer leur programmation Veuillez essayer de le résoudre.
Eh bien.
HP d'Otsu py: http://www.otupy.net/
Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
Twitter: https://twitter.com/otupython