此程序旨在询问您一个句子和一个数字,然后将所有字母都按字母向下移动所输入的数字,然后让您通过减去输入的内容来将其撤消。由于某些原因,当您输入export class AppComponent {
@ViewChild('userName') userInput: ElementRef;
constructor() {}
someFunction(){
let event = new KeyboardEvent('keyup',{'bubbles':true});
this.userInput.nativeElement.dispatchEvent(event);
}
onKeyup(event){
console.log(event)
}
onKeydown(event){
console.log(event)
}
}
作为班次时,字母s会转变为不同的随机字母,而当您尝试向后退时,却无法给您正确的单词,我也不知道为什么。
5
答案 0 :(得分:0)
问题是您定义了一个全局x
变量,也定义了一个局部变量。局部变量掩盖了全局变量,因此eval("x")
的结果不再是您期望的结果。
解决方案:在for
循环中使用其他变量。
您的代码有很多可以改进的地方。您可以利用模运算符和ord
函数,而无需使用全部26个字母名称。
这是for
循环在没有全部内容的情况下的样子:
if 0 < shift < 11:
for i, ch in enumerate(message):
if ch != " ":
message[i] = chr((ord(ch)-ord('a')+shift)%26+ord('a'))
不相关:请注意,retry != ("y" or "n")
不能那样工作。您应该做retry not in "yn"