python - 在 abc 范围内将移位的 ASCII 值转换为 char
问题描述
背景
这个问题的灵感来自凯撒密码。给定一个修改后的 ASCII 值i
where i > 122 or i < 97
,目标是找到由它的值表示的字符。例如,既然'z'
value 是122
,那么123
references 'a'
,以及149
and 97 +- 26n
。
目标
该函数calc_chr
应计算移位的 ASCII 值,同时保持在 的范围内abc
,即[97, 122]
十进制。
明确的例子
let 'x'
be 120
let new_val
be'x' + 5
-->125
calc_chr(new_val)
等于'c'
'c'
作为移位'x'
5 次的结果,函数返回: x -> y, z, a, b, c
。
解决方法
解决方法效率不高。
while new_val > 122:
new_val -= 26
while new_val < 97:
new_val += 26
所需的解决方案(如果存在)是计算(而不是循环)。
解决方案
目前还不清楚你真正想要做什么。我的理解是您想输入一个人造数字,然后将其转换为从 97 到 122 的数字(均包含在区间内)。
最简单的方法是:
number = input('Your number: ')
mod_number = ((number - 97) % 26) + 97
print(number, chr(number))
这样你输入一个数字,如果它包含在 97 到 122 之间,那么它将被保留。否则它将被移入该间隔。因此,如果你输入 123,你会得到 97,如果你交出 96,你会得到 122。
推荐阅读
- javascript - Hapi 17:发送响应后执行操作
- reactjs - 渲染嵌套反应组件数组不起作用
- java - 使用规范中定义的类 (JAX-RS) 或实现中定义的类 (Jersey)?
- selenium - 如何在 Selenium 中打开带有扩展程序的 Google Chrome?
- ruby-on-rails - 观看 Rails 视图并在更改时重新加载页面
- python-3.x - 如何定位操作ndarray[sliceobject] = ndarray的源码?
- jquery - 使用 jquery 扫描仪读取 QR 码(JSON 字符串)并将值放入网页的不同输入字段中
- f# - 将一个参数传递给多个函数?
- excel - VBA - 计算隐藏并具有特定值的单元格
- java - 在爱普生打印机上打印粗体文本