Python
3分钟练习
连续AscII转换
根据我们前天和昨天的内容,今天我们要学习一下,怎么将一个单词的每个字母提出,然后对它们每个单词进行AscII码转换操作,便于输出出来。也就是如何对输入复数字符的字符串进行连续的 AscII 转换。
循环部分
单词提取
在上一回中我们尝试过一个将输入的字符串分割成单词的指令 split()
words = sentence.split()
通过 split() 将变量 sentence 中单词分割提取出来,将提取出来的内容放置到 word 变量中。
字符切割
接下来做一个嵌套循环,因为我们知道,通过 split 出来的单词,是一个 List 结构/类型的,也就是 words 里面,会按照 [单词1],[单词2],[单词3] 这样存储下来。所以我们需要一个 for 循环,从 words 列表中,提取中间的每个元素(元素里面的内容是从 sentence 分割出来的单词)
# 逐个 word 从 words 中提取
for word in words:
# 设定长度
l = len(word)
# 做单词长度次数个提取
for i in range(l):
asciibak = ord(word[l-i-1])
print(asciibak)
print('========')
通过 len() 函数,对外 For 循环当前的 word 进行字符串长度测量,以此长度作为内 For 循环进行的循环次数。
内 For 循环对当前循环中,word 中的单词字母再做循环,并且使用 ord() 函数对他们进行 AscII 码转换处理,赋值到 asciibak 变量中,然后输出出来。
每次内 For 循环结束之后,我们输出一条分割线,以方便之后我们查看输出结果。
完整代码和效果展示
def Severalord(sentence):
# 对 sentence 字符串变量进行切片
words = sentence.split()
# 逐个 word 从 words 中提取
for word in words:
# 设定长度
l = len(word)
# 做单词长度次数个提取
for i in range(l):
asciibak = ord(word[l-i-1])
print(asciibak)
print('========')
# 实验16位大小写字母兼数字组合
Severalord("EFXA FGWE H124 Dfq7")
print('自定义输入连续字符串')
uesri = input()
uesro = Severalord(uesri)
print(uesro)
完整的代码和运行效果展示
自定义输入
就像我们每次说的,我们可以通过 input 和一些简单语句的搭配,就能实现自定义输入输出。
print('自定义输入连续字符串')
uesri = input()
uesro = Severalord(uesri)
print(uesro)
自定义输入运行效果
【吉米:这样的输出要复制到别的东西上很麻烦啊,有没简单一点,一拖就能复制走的?】
很好吉米,这个就是明天的课题了。