Standard Test Paper

From Esolang
Jump to navigation Jump to search
This article is not detailed enough and needs to be expanded. Please help us by adding some more information.

Standard Test Paper is an esolang by User:yoyolin0409.

Papermaking

(This section is utter nonsense. Please refer directly to the ASCII art section below.)

Select some high-quality Unicode characters. These characters include "─", "│", "┏", "┓", "┗", and "┛".

Weave the "─" symbols into a long line consisting of 21 "─" symbols.

Weave the "│" symbols into a long line consisting of 12 "│" symbols.

Use "┏", "┓", "┗", and "┛" to fix two "─" lines and two "│" lines.

Don't forget to fill the interior with spaces.

Now it looks like:

┏─────────────────────┓
│                     │
│                     │
│                     │
│                     │
│                     │
│                     │
│                     │
│                     │
│                     │
│                     │
│                     │
│                     │
┗─────────────────────┛

Paper that does not meet the specifications cannot be considered a Standard Test Paper.

Writing basic documents

Write the title on the first line (or practically the second line). The title must be written in standard ASCII characters. It must begin with two spaces, end with two space. However, the number of characters in the content must not change; the remaining characters must be filled with spaces. Due to the mechanism, the title cannot exceed 17 characters.

Then write the text in the second line (essentially the third line). If there's not enough space, wrap to the next line. Our interpreter will ignore specification characters after confirming the specifications, but the specifications still need to be followed. The second line determines the output variables: "<var_name> Chapter No Graffiti" or "<var_name> and <var_name>Chapter No Graffiti" or "<var_name>, <var_name>, <var_name> and <var_name>Chapter No Graffiti" will output all listed <var_name> characters in order. Replacing "Chapter No Graffiti" with something else will have different effects. "<var_name>Chapter Full Marks is <num>" will only be output when the number or text length is equal to <num>. "<var_name>Chapter <num> Marks or above is Pass" will only be output when the number or text length is greater than <num>. "<var_name>Chapter <num> Marks or below is Fail" will only be output when the number or text length is less than <num>.

Page numbers are uniformly placed on the far right of the last line (actually the second to last line). The format is Page <current page number>/<last page number>

"Please confirm your answer after completing the task." This should be placed on the last page, below the line containing the actual content (excluding the page number).

Each question separator, the second line separating the question, and the line separating the question from the end of the test text must all contain a line "---------------------". Of course, the left and right side separators "│" are also necessary.

Question format on the test paper

A standard question must include a question number, and the question number cannot be randomly selected. The question type should then be appended after the question number.


Question type: "Fill in the blank":

1.Fill in the blank
<value>, <value>, <value>....
<var_name>._____, <var_name>._____, <var_name>._____....

The <value> will be filled in sequentially with the "_____" below, while the specified "<var_name>" will be used as variable names. The serial number in the "Answer Area" below cannot be empty and must contain a period (."). "____" can only have 5 bottom lines. The variable in this output is a text variable.

Question type: "Write an appropriate answer according to the question"

2.Write an appropriate answer according to the question
<var_name>.<question>
<var_name2>:_____

Perform different operations on <var_name> (which must be a literal variable) using different <question> statements and store the results in <var_name2>.

Available <question>(The content within parentheses is unnecessary.):

<question> Python
What is/are the <format_text>(, <format_text>, <format_text>, and <format_text>) of <var_name>(, <var_name>, <var_name>, and <var_name>)? Is it <format_used_value>(, <format_used_value>, <format_used_value>, and <format_used_value>)? <var_name>.format(format_text=format_used_value,format_text=format_used_value,format_text=format_used_value...)#The text must contain the corresponding {{}} to be used.
What is/are the <format_used_value>(, <format_used_value>, <format_used_value>, and <format_used_value>) of <var_name>(, <var_name>, <var_name>, and <var_name>)? <var_name>.format(format_used_value,format_used_value,format_used_value)#When the curly braces {{}} within the text are numbers, it will retrieve {{}} use "list-like manner".
What is/are the components of <var_name>(, <var_name>, <var_name>, and <var_name>)? f'{<var_name>}'#Python seems to only support this format in print(), but we can make its functionality exist elsewhere.
Find the <text> elements within <var_name>(, starting with <start_value>( and ending with <end_value>)). Remember, everything must follow the <var_name2> grammar rules. <var_name>.find(<text>,<start_value>,<end_value>)#The result is stored in var_name2
Find the superlative verbs in <var_name>(, starting from <start_value> (and ending with <end_value>)). Remember, everything must follow the <var_name2> grammar rules. <var_name>.rfind(<start_value>,<end_value>)#The result is stored in var_name2
Find the <text> elements within <var_name>(, starting with <start_value>( and ending with <end_value>)). Remember, everything must follow the <var_name2> grammar rules. When there is no answer, fill in "no solution". <var_name>.index(<text>,<start_value>,<end_value>)#The result is stored in var_name2
Find the superlative verbs in <var_name> (, starting from <start_value> (and ending with <end_value>)). Remember, everything must follow the <var_name2> grammar rules. When there is no answer, fill in "no solution". <var_name>.rindex(<start_value>,<end_value>)#The result is stored in var_name2
Write a text string of type <var_name2> that begins with <var_name> and must contain <text>.( starting from <start_value> (and ending with <end_value>)) <var_name>.startswith(<text>,<start_value>,<end_value>)#The result is stored in var_name2

Example

Hello, world!

┏─────────────────────┓
│  Hello, world!      │
│  hi Chapter No Gra  │
│  ffiti              │
│---------------------│
│  1.Fill in the bla  │
│  nk                 │
│  Hello, world!      │
│  hi._____           │
│---------------------│
│  Please confirm yo  │
│  ur answer after c  │
│             Page 1/2│
┗─────────────────────┛
┏─────────────────────┓
│  ompleting the tas  │
│  k.                 │
│                     │
│                     │
│                     │
│                     │
│                     │
│                     │
│                     │
│                     │
│                     │
│             Page 2/2│
┗─────────────────────┛