-2
votes

Paillasson HackerRank Designer

J'essaie de résoudre un problème dans HackerRank et je suis coincé là-dedans. Aidez-moi à écrire du code python pour cette question

M. Vincent travaille dans une entreprise de fabrication de paillassons. Un jour, il a conçu un nouveau paillasson avec les spécifications suivantes:

La taille du tapis doit être X. (est un nombre naturel impair, et est multiplié par le temps). Le dessin doit avoir «WELCOME» écrit au centre. Le modèle de conception ne doit utiliser que |,. et - caractères. Modèles d'échantillons

Size: 7 x 21 
---------.|.---------
------.|..|..|.------
---.|..|..|..|..|.---
-------WELCOME-------
---.|..|..|..|..|.---
------.|..|..|.------
---------.|.---------


2 commentaires

Quel est réellement le problème et quelle est votre question?


De toute évidence, c'est un nouvel utilisateur qui a juste besoin d'un peu d'aide pour commencer à apprendre Python. Les premiers pas sont les plus difficiles. Soyons amicaux.


3 Réponses :


1
votes

Vous pouvez aborder ce problème en le divisant en trois étapes. Vous allez d'abord imprimer la partie supérieure, puis la BIENVENUE, et ensuite la partie inférieure. Les chaînes Python ont une méthode intégrée .center () qui vous facilitera la vie.

N, M = map(int, input().split())

dick = '.|.'

for i in range(1, N, 2): 
    dicks = dick * i
    print(dicks.center(M, '-'))

print('WELCOME'.center(M, '-'))

for i in range(N - 2, -1, -2): 
    dicks = dick * i
    print(dicks.center(M, '-'))


0 commentaires

0
votes
# Enter your code here. Read input from STDIN. Print output to STDOUT

length, breadth = map(int, input().split())

def out(n,string):
    for i in range(n):
        print ("{}".format(string), end='')

def print_out(hyphen_count,polka_count):
    out(hyphen_count, '-')
    out(polka_count, '.|.')
    out(hyphen_count, '-')
    print ('')

hyphen_count = (breadth - 3) // 2
polka_count = 1
for i in range(length):
    if i < (length // 2):
        print_out(hyphen_count,polka_count)        
        hyphen_count = hyphen_count - 3
        polka_count = polka_count + 2
    elif i == (length // 2 + 1):
        out((breadth - 7)//2, '-')
        print ("WELCOME", end='')
        out((breadth - 7)//2, '-')
        print ('')
        hyphen_count = hyphen_count + 3
        polka_count = polka_count - 2        
    elif (length // 2) < i < length:
        print_out(hyphen_count,polka_count)        
        hyphen_count = hyphen_count + 3
        polka_count = polka_count - 2 
print_out(hyphen_count,polka_count)



0 commentaires

0
votes

Je pense que la réponse la plus concise en python3 serait la suivante:

    N, M = map(int,input().split())
    for i in range(1,N,2): 
        print((i * ".|.").center(M, "-"))
    print("WELCOME".center(M,"-"))
    for i in range(N-2,-1,-2): 
        print((i * ".|.").center(M, "-"))


0 commentaires