pl-integer-input元件¶
填写需要整数输入的空白字段。
样品元素¶

question.html
<pl-integer-input answers-name="int_value" label="$y =$"></pl-integer-input>
server.py
import random
def generate(data):
# Generate a random whole number
x = random.randint(1, 10)
# Answer to fill in the blank input
data["correct_answers"]["int_value"] = x
定制¶
| 属性 | 类型 | 默认 | 描述 |
|---|---|---|---|
allow-blank |
布尔 | 假 | 是否允许输入框为空。默认情况下,空输入框不会被评分(格式无效)。 |
answers-name |
字符串 | — | 用于存储数据的变量名称。请注意,该属性在问题中必须是唯一的,即该属性的值不应在问题中重复。 |
aria-label |
字符串 | — | 输入的可访问标签。 |
base |
整数 | 10 | 10用于解析和表示答案的基数,或特殊值 0(见下文)。 |
blank-value |
字符串 | 0 (zero) | 如果元素留空,则用作答案的值。仅当 allow-blank 为 true 时适用。必须是 ""(空字符串)或整数。 |
correct-answer |
字符串 | 查看描述 | 正确答案可用于评分。默认为 data["correct_answers"][answers-name]。如果提供了 base,则必须在提供的基数中给出此答案。空白正确答案 (correct-answer="") 仅在 allow-blank="true" 和 blank-value="" 时有效。 |
display |
"block" 或 "inline" |
"inline" |
如何显示输入字段。 |
initial-value |
字符串 | — | 第一次渲染时预填充输入框的初始值。 |
label |
字符串 | — | 显示在输入框之前的前缀(例如,label="$x =$")。 |
placeholder |
字符串 | 查看描述 | 自定义占位符文本。如果未设置,则如果 base 为 10 或 0,则默认为 "integer",否则为 "integer in base <base>"。 |
show-help-text |
布尔 | 真实 | 在显示所需输入参数的输入末尾显示问号。 |
show-score |
布尔 | 真实 | 是否在此元素旁边显示分数徽章。 |
size |
整数 | 35 | 35输入框的大小。 |
suffix |
字符串 | — | 显示在输入框之后的后缀(例如,suffix="items")。 |
weight |
整数 | 1 | 计算元素的加权平均分数时使用的权重。 |
指定一个非平凡的基¶
默认情况下,这些值以基数 10 进行解释。也可以使用 base 参数(其值在 2 到 36 之间)来指示不同的基数来解释学生输入以及打印最终结果。
base 参数还可以接受特殊值 0。在这种情况下,这些值默认以 10 为基数进行解释,但是学生可以选择使用不同的前缀来指示不同格式的值:
- 前缀
0x和0X可用于 16 进制值(例如,0x1a); - 前缀
0b和0B可用于以 2 为基数的值(例如,0b1101); - 前缀
0o和0O可用于以 8 为基数的值(例如,0o777)。
整数范围¶
pl-integer-input 可以接受无限大小的整数,但是如果正确答案在 -9007199254740991 和 +9007199254740991 之间(在 -(2^53 - 1) 和 +(2^53 - 1) 之间),则只会存储为 Python int。否则,正确答案将存储为字符串。这种区别在 parse() 和 grade() 的 server.py 脚本以及下载的评估结果中很重要。
请注意,答案可以包含被忽略的下划线(即 1_000 将被解析为 1000)。
示例实现¶
- [元素/整数输入]