目录

一、文本进度条

二、星号三角形

三、凯撒密码


一、文本进度条

题目:

采用字符串方式打印可以动态变化的文本进度条‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬,进度条需要能在一行中逐渐变化‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

(1) 采用sleep()模拟一个持续的进度,获得文本进度条的变化时间;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

(2) 通过print()函数实现单行动态刷新,在print()函数中更换参数end的默认值为'',每次使用print()函数输出时不能换行;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

(3) 要能回退:打印后光标到之前的位置 \r。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬ ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

请在Windows的命令行(cmd或PowerShell)或其他操作系统的命令行下执行Python程序,获得进度条效果。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬


输出示例‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

平均代码量11 行

答案:

import timescale = 50print("执行开始".center(scale//2,"-"))
start = time.perf_counter()
for i in range(scale+1):a = '*' * ib = '.' * (scale-i)c = (i/scale)*100dur = time.perf_counter() - startprint("\r{:^3.0f}%[{}->{}]{:2f}s".format(c,a,b,dur),end = "")time.sleep(0.1)print("执行结束".center(scale//2,"-"))

解析:

1.首先我们采用字符串方式打印可以动态变化的文本进度条,这一进度条要能在一行中逐渐变化。

2.我们需要获得文本进度条的变化时间,在这里我们采用sleep()来模拟一个持续的进度

3.然后,我们需要知道刷新的概念

刷新的本质是:用后打印的字符覆盖之前的字符
   刷新要求我们不能换行:print()需要被控制
   刷新要能退回:打印后光标退回到之前的位置

所以刷新的关键是\r,它可以带我们做到上面的事

拿一个小的例子为例,实现0到100%的变化

import timefor i in range(101):print("\r{:3}%".format(i),end = "")time.sleep(0.1)

以上的例子如果想要在cmd(命令提示符)中打开:

首先,win+r打开cmd

接着 输入以下内容:


C:\Users\Zh>cd E:\研究生文件\关于Python的学习\第三周--数据类型C:\Users\Zh>E:E:\研究生文件\关于Python的学习\第三周--数据类型>python strtype.py

然后程序就会在cmd里运行啦~

以下是文本进度条的详细解析:

import time #导入第三方库time
scale = 50 #定义长度为50
print("执行开始".center(scale//2,"-")) #显示执行开始,并且居中,center就是居中的作用,然后旁边都用"-"来填充start = time.perf_counter()#perf_counter()的作用是返回一个cpu级别的精确时间(秒),但是我们不知道起点。for i in range(scale+1):#循环老演员了a = '*' * i #每遍历一次,多一个雪花b = '.' * (scale -i)#每遍历一次,少一个点点c = (i/scale) * 100 #这个是用来算前面的百分比的,i变化在整个进程中的占比*100dur = time.perf_counter() - start#一个开始一个结束,算出时差才有意义,这样就能计算出这个进度条运行结束花了多少时间print("\r{^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')#\r代表刷新,第一步先显示进程的百分比(居中显示,3.0f中3表示给他预留三个空的位置.0f表示精确到个位数)剩下的两个框框分别显示a,btime.sleep(0.1) #遍历一次,睡0.1秒,嘿嘿,休息一秒。print("\n"+"执行结束".center(scale//2,"-"))#换行,显示执行结束。

二、星号三角形

题目

读入一个整数N,N是奇数,输出由星号字符组成的等边三角形,要求:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后一行共N的星号。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬


输入示例 输出示例
示例1 3 *‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
***‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

答案+解析

Starstr = eval(input())#得到用户输入,并用eval变成数字型for i in range(Starstr+1):#进入循环,遍历一遍starstr+1if Starstr%2 == 1:#如果用户输入是奇数if i%2 ==1:#如果遍历结果为奇数print("{:^{}}".format(i*'*',Starstr))#遍历结果为奇数时,这个奇数是多少,就输出多少,并且保证居中输出。

三、凯撒密码

恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

对于原文字符P,其密文字符C满足如下条件:C=(P+3) mod 26‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

上述是凯撒密码的加密方法,解密方法反之,即:P=(C-3) mod 26‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

假设用户可能使用的输入包含大小写字母a~zA~Z、空格和特殊符号,请编写一个程序,对输入字符串进行恺撒密码加密,直接输出结果,其中空格不用进行加密处理。使用input()获得输入。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬


输入示例‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

python is good

输出示例

sbwkrq lv jrrg

答案+解析:

s = input()#获取用户输入
t = ""#定义一个空字符串
for c in s:#老演员,遍历一遍用户的输入if 'a' <= c <= 'z': #如果c属于小写字母t += chr( ord('a') + ((ord(c)-ord('a')) + 3 )%26 )#ord返回unicodde码,chr得到unicode对应的字母elif 'A' <= c <= 'Z':#如果c属于大写字母t += chr( ord('A') + ((ord(c)-ord('A')) + 3 )%26 )#同理,注意,字符串是没办法直接进行加减的(但是可以组合),我们只有将它先变成数字,然后在进行加减else:t += c#如果是其他情况(比如“,。”或者空格),保持用户输入不变
print(t)

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

Python语言程序设计(嵩天老师版)第三周代码解析——字符串部分相关推荐

  1. python语言程序设计 嵩天老师(第七周)

    1.Python对文件操作采用的统一步骤是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬ ...

  2. 【python】Python语言程序设计/嵩天老师入门课程笔记整理

    分章节目录 1.python开发环境配置 1.1 程序语言分类(执行方式): 1.2 python程序语法元素分析: 1.3 python保留字 2.python绘图 2.1 编程语言概述 2.2 t ...

  3. MOOC python语言程序设计 嵩天老师 笔记(第六周)

    1.S和T是两个集合,哪个选项对S^T的描述是正确的?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪ ...

  4. python语言程序设计嵩天-Python语言程序设计基础(第2版)嵩天课后答案

    嵩天.礼欣.黄天羽Python语言程序设计基础(第2版)习题答案本书提出了以理解和运用计算生态为目标的Python语言教学思想,在系统讲解Python语言语法的同时介绍了从数据理解到图像处理的14个P ...

  5. Python语言程序设计(嵩天老师版)第二周笔记

    目录 一.第一周回顾 二.计算机技术的演进 三.编程语言的初心 编程语言的种类 不同的语言 四.python语言的特点 五.turtle库的使用 turtle背景介绍 import 一张纸--turt ...

  6. Python语言程序设计(嵩天老师版)第一周笔记

    一.程序设计 1.计算机是根据指令操作的设备. (1)计算机具有功能性和可编程性.二者缺一,就不叫计算机了. 功能性指的是对数据操作,表现为数据计算.输入输出处理和结果存储: 可编程性指根据一些列指令 ...

  7. python语言程序设计嵩天-python语言程序设计基础(嵩天版),第二章程序练习题...

    python语言程序设计基础(嵩天版),第二章程序练习题 欢迎访问江南烧酒的博客 2.2汇率兑换程序.按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序. """ ...

  8. python慕课笔记 Python语言程序设计 嵩天笔记整理

    ** 1.python基本语法元素 1.2** C诞生于1972年,python诞生于1990年 静态语言:编译执行:C/C++\Java,执行速度快 脚本语言:解释执行:Python.JavaScr ...

  9. Python语言程序设计(北京理工大学MOOC)1-5周

    第一周 温度转换源程序: #TempConvert.py TempStr = input("请输入带有符号的温度值:") if TempStr[0] in ['C','c']:F ...

最新文章

  1. wordpress文章发布接口开发
  2. mysql yearweek 日期不准_Mysql 中,WEEK 与YEARWEEK函数的参数问题
  3. Docker快速安装ZooKeeper开源分布式协调服务器
  4. tmux手册中文翻译
  5. AWS 创建 pem 文件
  6. @configuration注解_SpringBoot注解大全,收藏一波!!!
  7. 图解Java设计模式
  8. 怎么把索尼摄像机拍摄的RSV文件修复转换为MXF视频
  9. 二调,分幅图打印(标准分幅土地利用现状图,耕地坡度分级图),图框工具
  10. xmind安装及导出pdf
  11. 干货 | 人工智能应用落地的关键成功要素
  12. 闪迪MicroSD卡无法格式化修复经验(不一定管用)
  13. ACO 蚁群算法(算法流程,TSP例子解析)
  14. C++ 求解最小公倍数
  15. ipad未能与itunes连接到服务器,ipad无法连接itunes store怎么办
  16. 【中国剩余定理】互素与不互素的情况详解
  17. 【信奥题库 NOIP 2020 在线模拟赛 T4】三元组
  18. 计算机闪存大小,电脑内存大小有什么区别
  19. android wp8相机,Camera360 for WP8推出“时光相机” 让你重温岁月痕迹
  20. 有趣的网站:河蟹娱乐

热门文章

  1. 第4关:顺序表的按照值查找序号操作
  2. MySQL三大运算符,MySQL运算符
  3. 【运筹学】-【SOLVER】- 【GUROBI】- WINDOW中python虚拟环境Gurobi安装
  4. 微信小程序--扫二维码
  5. 计算机应用基础110003,江苏开放大学计算机应用基础第一次
  6. 江苏工匠杯-unseping序列化,正则绕过(全网最简单的wp)
  7. 企业微信发布,看Saas产品的破局与增长逻辑
  8. windows开机运行python脚本_Windows系统配置python脚本开机启动的3种方法分享
  9. jmeter中md5加密
  10. Linux 基础命令备忘(二)