嵩天-Python语言程序设计程序题--第三周:基本数据类型
前言:嵩天老师的《Python语言程序设计课程》被评为国家精品课程,在幕课上累计超过11万学员,里面的习题对初学者入门Python,提高编程实战能力很有帮助。因此,我想把自己学习这门课程作业分享出来,大家一起学习交流
目录
实例3:天天向上的力量
描述
输出
实例4:文本进度条
描述
输出
三次方格式化
描述
输入输出示例
星号三角形
描述
输入输出示例
恺撒密码
描述
输入
输出
平方根格式化
描述
输入输出示例
字符串分段组合
描述
输入输出示例
实例3:天天向上的力量
描述
这是"实例"题,与课上讲解实例相同,请作答检验学习效果。
工作日模式要努力到什么水平,才能与每天努力1%一样?
-A君: 一年365天,每天进步1%,不停歇
-B君: 一年365天,每周工作5天休息2天,休息日下降1% ,要多努力呢?
每周工作5天休息2天,计算工作日的努力参数是多少才能与每天努力1%一样。
要求如下:
(1) 一年365天,以第0天的能力值为基数,记为1.0;
(2) 当好好学习时,能力值相比前一天提高1%;当没有学习时,由于遗忘等原因能力值相比前一天下降1%;
输出
输出结果格式如下:(其中结果保留小数点后三位,冒号后有一个空格)
工作日的努力参数是: 0.019
def dayUP(df):dayup = 1for i in range(365):if i % 7 in [6,0]:dayup = dayup*(1 - 0.01)else:dayup = dayup*(1 + df)return dayup
dayfactor = 0.01
while dayUP(dayfactor) < 37.78:dayfactor += 0.001
print("工作日的努力参数是: {:.3f}".format(dayfactor))
实例4:文本进度条
描述
这是"实例"题,与课上讲解实例相同,请作答检验学习效果。
采用字符串方式打印可以动态变化的文本进度条,进度条需要能在一行中逐渐变化
要求如下:
(1) 采用sleep()模拟一个持续的进度,获得文本进度条的变化时间;
(2) 通过print()函数实现单行动态刷新,在print()函数中更换参数end的默认值为'',每次使用print()函数输出时不能换行;
(3) 要能回退:打印后光标到之前的位置 \r。
请在Windows的命令行(cmd或PowerShell)或其他操作系统的命令行下执行Python程序,获得进度条效果。
输出
import time
scale = 50
print("执行开始".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("\n"+"执行结束".center(scale//2,'-'))
三次方格式化
描述
获得用户输入的一个数字,可能是整数或浮点数,a,计算a的三次方值,并打印输出。
输出结果采用宽度20个字符、居中输出、多余字符采用减号(-)填充。
如果结果超过20个字符,则以结果宽度为准。
输入输出示例
输入 | 输出 | |
示例 1 |
|
|
a = eval(input())
b = pow(a,3)
print("{:-^20}".format(b))
星号三角形
描述
读入一个整数N,N是奇数,输出由星号字符组成的等边三角形,要求:
第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后一行共N的星号。
输入输出示例
输入 | 输出 | |
示例 1 | 3 |
* *** |
a = eval(input())
for i in range(a): if (i+1)%2 == 1: b ='*'*(i+1) b =str(b) print(b.center(a," "))
恺撒密码
描述
恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:
原文: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()获得输入。
输入
示例1: python is good
输出
示例1: sbwkrq lv jrrg
# test5 通过字典来解决加密解密的问题(可能课程到现在还没有学习字典的用法,但字典的确是一种更一般化的思路)
str_a = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
str_b = str_a.lower() # 将str_a转化为小写字母def key_dict(str): list_key = list(str)list_value = list_key[3:] + list_key[0:3]key_dict = dict(zip(list_key,list_value))return key_dictkey_dict = {**key_dict(str_a),**key_dict(str_b)} # 大小写密码合并组成一个新的字典a = input()
for i in range(len(a)):if a[i] in key_dict.keys():print(key_dict[a[i]],end="") else:print(a[i],end="")
平方根格式化
描述
获得用户输入的一个整数a,计算a的平方根,保留小数点后3位,并打印输出。
输出结果采用宽度30个字符、右对齐输出、多余字符采用加号(+)填充。
如果结果超过30个字符,则以结果宽度为准。
输入输出示例
输入 | 输出 | |
示例 1 |
|
|
# test2-1
a = eval(input())
b = pow(a,0.5)
print("{:+>30.3f}".format(b))
字符串分段组合
描述
获得输入的一个字符串s,以字符减号(-)分割s,将其中首尾两段用加号(+)组合后输出。
输入输出示例
输入 | 输出 | |
示例 1 |
|
|
# test2-2
a = input()
a_list = a.split('-')
print(a_list[0] + "+" + a_list[-1])
嵩天-Python语言程序设计程序题--第三周:基本数据类型相关推荐
- 嵩天-Python语言程序设计程序题--第五周:函数和代码复用
前言:嵩天老师的<Python语言程序设计课程>被评为国家精品课程,在幕课上累计超过11万学员,里面的习题对初学者入门Python,提高编程实战能力很有帮助.因此,我想把自己学习这门课程作 ...
- 嵩天-Python语言程序设计程序题--第八周:程序设计方法学
前言:嵩天老师的<Python语言程序设计课程>被评为国家精品课程,在幕课上累计超过11万学员,里面的习题对初学者入门Python,提高编程实战能力很有帮助.因此,我想把自己学习这门课程作 ...
- 嵩天-Python语言程序设计程序题--第七周:文件和数据格式化
前言:嵩天老师的<Python语言程序设计课程>被评为国家精品课程,在幕课上累计超过11万学员,里面的习题对初学者入门Python,提高编程实战能力很有帮助.因此,我想把自己学习这门课程作 ...
- 嵩天-Python语言程序设计程序题--第六周:组合数据类型
前言:嵩天老师的<Python语言程序设计课程>被评为国家精品课程,在幕课上累计超过11万学员,里面的习题对初学者入门Python,提高编程实战能力很有帮助.因此,我想把自己学习这门课程作 ...
- 嵩天-Python语言程序设计程序题--第四周:程序的控制结构
前言:嵩天老师的<Python语言程序设计课程>被评为国家精品课程,在幕课上累计超过11万学员,里面的习题对初学者入门Python,提高编程实战能力很有帮助.因此,我想把自己学习这门课程作 ...
- 嵩天-Python语言程序设计程序题--第一周:Python基本语法元素
前言:嵩天老师的<Python语言程序设计课程>被评为国家精品课程,在幕课上累计超过11万学员,里面的习题对初学者入门Python,提高编程实战能力很有帮助.因此,我想把自己学习这门课程作 ...
- 嵩天-Python语言程序设计程序题--第九周:Python计算生态纵览
前言:嵩天老师的<Python语言程序设计课程>被评为国家精品课程,在幕课上累计超过11万学员,里面的习题对初学者入门Python,提高编程实战能力很有帮助.因此,我想把自己学习这门课程作 ...
- 嵩天-Python语言程序设计程序题--第二周:基本图形绘制
前言:嵩天老师的<Python语言程序设计课程>被评为国家精品课程,在幕课上累计超过11万学员,里面的习题对初学者入门Python,提高编程实战能力很有帮助.因此,我想把自己学习这门课程作 ...
- python语言程序设计嵩天-python语言程序设计基础(嵩天版),第二章程序练习题...
python语言程序设计基础(嵩天版),第二章程序练习题 欢迎访问江南烧酒的博客 2.2汇率兑换程序.按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序. """ ...
最新文章
- 一周AI回顾 | 特斯拉AI负责人说神经网络正在改变编程,机器学习大神Bengio新论文专注RNN优化
- Native层HIDL服务的获取原理-Android10.0 HwBinder通信原理(七)
- 2020-12-29 Linux查找某一关键字在哪个文件
- 20、Flask实战第20天:Flask上下文
- [css] 什么是FOUC?你是如何避免FOUC的?
- MongoDB未授权访问漏洞记录(端口:27017,37017)
- linux+读取初始化文件,Linux 初始化系统 SystemV Upstart
- matlab和C/C++混合编程--Mex (转载)
- 解决编译.spec:rpm build with: fg: no job control报错
- 坚果云忽略同步文件的设置
- 使用css3背景渐变中的透明度来设置不同颜色的背景渐变
- 人工智能面试问题整理
- WIN98 当年的记忆
- matlab二阶系统曲线,基于matlab的二阶系统的阶跃响应曲线分析
- cewl工具(URL字典生成器)
- 大流量高并发互联网应用实践在线峰会:资料汇总(更新ing~)
- OrCAD+PADS联合绘制PCB的总结
- 微信小程序系列2——小程序页面渲染和逻辑的关系
- Navicat导出整个数据库(可以直接迁移,不会因为外键关系而导致导入不了)
- 初中计算机新课标培训心得,新课标培训心得体会五篇
热门文章
- OpenGL uniform变量赋值的三种方法
- 数据结构与算法:已知二叉树两种遍历序列,求第三种遍历序列
- Machine Learning之Python篇(一)
- 【机器学习】朴素贝叶斯(Naive Bayes)
- 梅森增益matlab求解,梅森公式互不接触回路及其增益
- 交叉表 列字段排序_Tableau学习系列(8):表计算
- java诸神之战游戏_mj回溯算法 - osc_7bgz0no1的个人空间 - OSCHINA - 中文开源技术交流社区...
- 为什么要用Mybatis框架---Mybatis学习笔记(一)
- Android开发之assets目录下资源使用总结
- Linux环境下服务器 Tomcat war包部署步骤