这是一个不寻常的问题:我想知道一个可以替换为Java代码的字符列表,以防止其被复制,粘贴和编译。
说明:我正在教授Java类(class),并且必须使用Microsoft Forms进行在线考试。我喜欢使用的一个问题是“成为编译器”(启发于Head First书籍),学生必须在脑海中运行代码并写下输出。问题在于,由于Covid-19,它已经在家中在线,学生可以复制并粘贴代码并运行它。
附言:Microsoft Form仅接受每个问题一个小图像。并接受HTML标签,LaTex标签和markdown标签。
PS:这个想法是受JavaScript Prank / Joke启发的
最佳答案
多亏了list(由pafau提供),我能够找到一些符号:
python中的以下代码放入行号并替换这些符号:
# -*- coding: utf-8 -*-
import sys
text_numbered = ''
with open(sys.argv[1], 'r') as my_file:
for counter, line in enumerate(my_file, 1):
text_numbered += '{:3d}'.format(counter) + ' - ' + str(line)
text = text_numbered
# 202F; 0020; ( → ) NARROW NO-BREAK SPACE → SPACE
text = text.replace(' ', ' ')
# 201A; 002C; ( ‚ → , ) SINGLE LOW-9 QUOTATION MARK → COMMA
text = text.replace(',', '‚')
# 037E; 003B; ( ; → ; ) GREEK QUESTION MARK → SEMICOLON
text = text.replace(';', ';')
# 1400; 003D; ( ᐀ → = ) CANADIAN SYLLABICS HYPHEN → EQUALS SIGN
text = text.replace('=', '᐀')
print(text)
不幸的是,我找不到与“拉丁文小写字母”或“拉丁文大写字母”相同的字母序列
关于java - Java代码中用来防止其被复制,粘贴和编译的不可识别字符列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62072138/