私にドミノを描く

チャレンジ

0-9の2桁の数字が入力された場合は、ドミノを出力します( double- 9ドミノセット)を2つの面にピップ(点)の数で表示します。
10人の可能な顔がこのように見えます(パイプで区切られています):

     |     |    o|    o|o   o|o   o|o o o|o o o|o o o|o o o
     |  o  |     |  o  |     |  o  |     |  o  |o   o|o o o
     |     |o    |o    |o   o|o   o|o o o|o o o|o o o|o o o

または別の行に:

     
     
     
-----
     
  o  
     
-----
    o
     
o    
-----
    o
  o  
o    
-----
o   o
     
o   o
-----
o   o
  o  
o   o
-----
o o o
     
o o o
-----
o o o
  o  
o o o
-----
o o o
o   o
o o o
-----
o o o
o o o
o o o

入力フォーマット

あなたは以下を含むがこれに限定されない、合理的な形式で入力を行うことができる。

  • 2つの別々の整数、文字列、またはシングルトン配列;
  • 0〜99の単一の整数;
  • 2つの整数の配列;
  • 2桁の文字列です。

出力形式

  • 2つの面は、次のようにパイプで区切って水平に配置できます。
    o|o   o
     |  o  
o    |o   o
  • または、縦に並べてハイフンで区切ってもかまいません。
    o
     
o    
-----
o   o
  o  
o   o
  • 望むなら、ドミノの周りに境界線を出力することもできます。
  • 線のリスト、2つの面のリスト、またはこれらの組み合わせを出力することもできます。
  • ピップに空白以外の文字を使用することができます(私は o を使用しました)。
  • 本当に欲しいのであれば、空白には 0 を、ピップには 1
    array>を出力する場合は(またはあなたの言語に相当する)
  • 列間の空白を削除することができます。これは7、7のための有効な出力です:
ooo|ooo
 o | o 
ooo|ooo
  • いずれの面も90度回転している可能性があります。これは7,7の場合でも有効です。
o   o|o o o
o o o|  o  
o   o|o o o
  • 出力の主要部分が他の制約に適合している限り、あなたが好きなだけ先頭/末尾の空白を持つことができます。
  • 行が空であっても、各面の高さは3行でなければなりません。 0、1の場合、これを出力できませんでした:
-----

  o

しかし、あなたはこれを出力できます 。




-----

  o

同様に、2行のリストのリストを出力する場合は、 [[""、 ""]、["" "o"、 "]]
[[""]、["o"]] ではありません。

スコアリング

This is ,
so the shortest code in bytes in each language
wins.

ベストアンサー

Python
2
, 101 97 92 68 64 bytes

lambda*a:[[[n>3,n>5,n>1],[n>7,n%2,n>7],[n>1,n>5,n>3]]for n in a]

2 –
お試しください!

クレジット

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です