乐趣区

关于python:python实验课代码心得

  1. 在交互状态下格式化打印






①留神看 % 和 {} 格式化打印的区别,将它们与 C 语言的格式化打印辨别开来。


2. 凯撒加密算法
①原理: 字母表一共有 26 个英文字母,加密时,咱们须要将某个明文字母做 N 位偏移失去密文,这个 N 最多为 26,而且偏移为 26 时和偏移为 0 时一样,明文和密文对应相等,实际上能够说最大的偏移量为 25,这里的偏移量是这个加密解密算法的外围。

公式:n 为偏移量

加密公式: f(a)=(a+n)mod 26
解密公式: f(a)=(a+26-n) mod 26

③代码:

import string
def kaisa(s, k):     // 定义函数承受一个字符串 s 和一个偏移量 k
lower = string.ascii_lowercase     // 小写字母
upper = string.ascii_uppercase   // 大写字母
before = string.ascii_letters    // 无偏移的字母程序小写 + 大写
after = lowerk] + lower[k] + upper(k] + upper[:k]   // 偏移后的字母程序还是小写 + 大写; 别离把小写字母和大写字母偏移后再加到一起

table = ' '.maketrans(before, after)  
// 创立映射表,before 一一对应到 after 中相应地位的字符
// 留神: 两个字符串的长度要统一这里的 ''.maketrans()中的' '能够换成 str, 也能够写成'sadwq'; 这里只是形式化的作用。// 要分明函数和办法其实是不同的,函数后面不须要实例,比方 len () . print (),而办法须要; 这也是为什么以前写的时候不懂什么时候后面要加变量,什么时候不要加(办法和函数是不一样的, 针对某个实例时,函数就变成了办法)

return s.translate(table)    // 对 s 进行偏移即加密
s = input("请输出一个字符串:")

3. 随机生成 10 个,六位数数字的验证码, 保留为其他人 无奈更改 的格局

import random
code = [random.randint(100000, 999999) for x in range(10)]
acode = tuple(code)     //tuple()函数创立元组
print(acode)


4. 随机生成 10 个,6 位大写字母验证码

import random,string
code = []
for i in range(10):
    x = ' '     // x 起到刷新的作用,每向列表中插入一个值当前,选出下一个值时,要把上一个值清空
    for j in range(6):
        x = x + random.choice(string.ascii_uppercase)   #random.c.haice(seq)函数: 从非空序列中随机选取一个数据并返回,该序列能够是 list、tuple、str、set。默认选一个
    code.append(x)
print(code)


5. 随机生成 10 个,6 位大写字母验证码,且不可反复。

import random,string
code = set()
while len(code) != 10:  //len ()函数能够用于求 list、tuple、dict 中的元素个数,也能够用于求 str 的长度
    x = ''
    for i in range(6):
        x = x + random.choice(string.ascii_uppercase)
    code.add(x)         // 汇合中减少元素的办法是 code.add(seq)
print(code)


6. 现有八部电影对其评分,有 1 -10 分。
①用字典记录下其豆瓣评分,并输入字典

films = {'肖申克的救赎':9.7, '摔跤吧!爸爸':9.0,'阿甘正传':9.5,'我和我的祖国':8.0,'哪吒之魔童降世':8.5, '千与千寻':9.3,'疯狂动物城':9.2,'攀登者':6.5}
print(films)

②现又新出了两部影片及其评分(中国机长: 7.0,河汉补习班: 6.2),将此影评退出 1)中的字典中,同时输入字典中所有的影片名称。

films_new = {'中国机长':7.0,'河汉补习班':6.2}
films.update(films_new)  #字典中元素的插入 dict.update()函数
print("所有影片名称:", films.keys()) 

③ 找出②中的字典中影评得分最高的影片。

③print("影片得分最高的影片:", max(films,key=films.get))  //max(seq,key=None)函数的用法。dict.get(key)返回指定键的值
// 所以 max(films,key=films.get))返回 films 字典中最大值的键

退出移动版