计算机理论python字符串作业_实验与作业(Python)-04 数据类型、数学函数与字符串...

截止日期

实验目标

继续熟悉for循环与turtle

数值运算符

math库常用函数

字符串转化为数值类型(int, float, complex)

字符串常用函数

实验内容

任务1.使用for代替while改写圆形生成器。

圆形生成器参考代码:

def calcArea(r):

return 3.14*r*r

n = eval(input("n="))

rList = []

while n > 0: # 练习1:尝试使用for改造while循环

r = eval(input("Please input r:"))

rList.append(r)

n = n - 1

for e in rList:

print(calcArea(e))

#任务2:用turtle将rList中的所有半径画成对应的圆形

作业1. 如果需要循环n次,使用for循环与while循环有何不同?

任务2 数值运算符号-取整、求余(特别考核,PTA)

//运算符为取整,即取得两数相除所得到的整数部分,10//3得3。

%运算符为求余符号,即取得两数相除所得到的余数部分,10%3得1。

这两种运算符都是计算机中常用的运算符。

找钱问题:买单时,营业员要为用户找钱。营业员手里有10元、5元、1元(假设1元为最小单位)几种面额的钞票,其希望以尽可能少(张数)的钞票将钱换给用户。比如,需要找给用户17元,那么其需要给用户1张10元,1张5元,2张1元。而不是给用户17张1元或者3张5元与2张1元。

输入:17

输出:需找10元1张,5元1张,1元2张

2.1 直接使用//与%对给定值,进行换算。

2.2 将2.1步骤定义成函数(考核):

def giveChange(money): #money为要找的钱

#提示1: 使用x10,x5,x1分别用于存放10元,5元,1元钞票的张数

#提示2: 使用字符串的format来组装输出结果

#提示3: 主要使用//与%运算符。

#该函数无需return,直接返回print输出结果

#1. 使用input提示"请输入余额"。注意:需要使用int或者eval函数将字符串转化为证书

#2. 调用giveChange函数,输出结果。

作业2:代码阅读

IPO分析:上述问题的IPO分别是什么?

手写或者打印代码,然后为代码每行做注释

任务3.math库常用函数

3.1.阅读并运行如下代码,尝试解释该段代码含义

案例:天天向上。1年365天,如果好好学习时能力值相比前一天提高1%,放任时相比前一天下降1%。1年后,效果相差多少呢?

import math

dayfactor = 0.01

dayup = math.pow((1.0 + dayfactor), 365) # 每天提高0.01

daydown = math.pow((1.0 - dayfactor), 365) # 每天荒废0.01

print("向上: {:.2f}, 向下: {:.2f}.".format(dayup, daydown))

3.2 银行存款问题:

假设银行存款年利率为rate%,存入一笔钱(money),n年后将得到多少钱。

a) 直接运算。

b) 使用IPO分析该问题,将步骤a)中的核心算法定义成函数。函数的输入参数应该是哪几个,返回(return)什么?尝试调用该函数,验证你的函数是否书写正确。

任务4. 回文问题(特别考核,PTA):

回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的。如,a, aba, 123454321都是回文。编写一个函数判断输入的字符串是否是回文,如果是则返回True,否则返回False。

调用的时候:从键盘输入一个字符串line,然后调用该函数判断line是否为回文。如果是回文,输出"line是回文",否则输出“line不是回文”。注意:这里的line应该是你输入的那个字符串。

准备知识: == 进行是否相等的判断, != 进行是否不等于的判断, len()函数代表求序列长度,比如可以求字符串的长度,len(str1)代表求字符串str1的长度。

1.初级版:只判断长度为5的字符串是否为回文。先使用中文描述,然后将其转化为代码。进阶:将该功能定义成函数。

2.进阶版:能判断任意长度(>0)的字符串是否为回文。特别考核:将其定义为函数。

3.去除空格:有时输入的字符串带空格会导致判断结果不符合预期,比如输入" abcba ",会返回False。现需要对输入的字符串进行预处理,去掉其左右空格后再判断。尝试编程实现。

4.判断是否是数字:处理输入时,希望输入的所有字符均为数字,一旦发现字符串中有其他字符就提示“您所输入的字符串含有非数字字符”,尝试编程实现。

作业3:

完成其中的3、4,参考课本字符串的函数。

任务5.天天向上(编程)-特别考核

阅读课本P76的实例代码3.4,解决课后题3.2。

进阶:使用函数改造课后题3.2。

作业:尝试解决课后题3.3。

任务6.字符串常用函数-预习

6.1 代码阅读(ord函数)

尝试运行并解释下列代码的含义(建议写在纸上)

plaincode = input("请输入明文: ")

for p in plaincode:

if ord("a") <= ord(p) <= ord("z"):

print(chr(ord("a") + (ord(p) - ord("a") + 3)%26), end='')

else:

print(p, end="")

作业4:

4.1 为上述代码每一行添加注释

4.2 使用函数改写上面的for中的内容,输入参数是什么?

4.3 改写4.2,不要使用print直接输出结果,而是将结果return出来。

6.2 尝试使用字符串的format函数与*(字符串相乘)输出如下所示的田字格:



作业5:

5.1 请使用字符串相乘简化代码

5.2 特别考核:观察每行规律,请使用for循环改写。

任务7.文本进度条-预习

7.1 尝试运行并读懂课本P89-91示例4.1-4.3,并为4.3每一行加注释,并回答为什么输出要有一个\r。(建议写在纸上)

7.2 在命令行控制台下运行如下代码,观察运行结果,为下面每行程序加注释,并回答为何会产生这种运行效果。(建议写在纸上)

import time

while True:

for i in ['/','-','|','\\','|']:

print("%s\r"%i, end = '')

time.sleep(0.05)

任务8.文本进度条-特别考核

实现课后题3.6。

选做:课后题3.8

需先使用下列命令安装tqdm第三方库,然后运行:

pip3 install tqdm -i https://pypi.douban.com/simple

SQL server聚合函数、数学函数、字符串函数

一.基础语句 二.数学函数与字符串函数 三.练习 1.创建一个学生信息表,根据要求写出程序 2.新建一个超市表,进了十种商品,个数都是十件

SQL server 数据库——数学函数、字符串函数、转换函数、时间日期函数

数学函数.字符串函数.转换函数.时间日期函数 1.数学函数 ceiling()--取上限  select ceiling(oil) as 油耗上限 from car floor()--取下限 sele ...

Python不使用int()函数把字符串转换为数字

Python不使用int()函数把字符串转换为数字 2018年05月21日 14:18:45 边缘ob边缘ob 阅读数:1035 https://blog.csdn.net/qq_33192555/a ...

Python基础数据类型(数字、字符串、布尔、列表、元组、字典、集合等)

数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定 ...

【2017-03-13】Tsql 数学函数、字符串函数、转换函数、时间日期函数

一.数学函数(针对值类型操作) 1.ceiling():取上限 只要小数点后有数字大于0,整数位自动进1 2.floor():取下限 将小数点位舍去,不管小数点位大小 3.round(四舍五入的值,保 ...

mysql 函数 时间函数,数学函数,字符串函数,条件判断函数

=========================================== mysql 相关函数 ============================================= ...

SQl Server 函数篇 数学函数,字符串函数,转换函数,时间日期函数

数据库中的函数和c#中的函数很相似 按顺序来, 这里价格特别的 print  可以再消息栏里打印东西 数学函数 ceiling()  取上限   不在乎小数点后面有多大,直接忽略 floor()   ...

Python 序列操作符与函数(字符串)

Python序列包括:元组.列表.字符串. 1.1 序列共同支持的函数: 函数 功能 说明 cmp(seq1,seq2) 比较序列大小 从左到右依次比较,直到比较出大小 len(seq1) 获取序列长 ...

PHP常用的数学函数和字符串函数

PHP常用函数总结 数学函数 1.abs(): 求绝对值 $abs = abs(-4.2); //4.2 数字绝对值数字 2.ceil(): 进一法取整 echo ceil(9.999); // 10 ...

随机推荐

MySQL使用正则表达式比较字段中的数字

今天遇到一个问题,需要对表中的一个类json字段的内容进行筛选,而筛选的条件是值要大于某个值.因为值的位数并不确定,考虑使用正则表达式进行筛选. 字段格式 类json的key-value字段,示例如下 ...

【转】keil+stm32+jlink利用swd方式进行printf输出

出处:http://www.douban.com/note/248637026/ ----------------------------------------------------------- ...

Udacity-Artificial Intelligence for Robotics 课程笔记

Lesson 1 Localization 蒙特卡洛机器人定位模型 sense 贝叶斯模型 move 全概率公式 localization练习 # The function localize take ...

远程开户系统开放API接口

如今随着智能识别技术的成熟和商用,金融领域也开始逐渐试水"远程开户".从OCR身份证识别到人脸识别,到如今市场上即将出现完整的远程开户系统,除了需要成熟的技术做支撑外,还需要对市场 ...

Bagging和Boosting 概念及区别

Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法.即将弱分类器组装成强分类器的方法. 首先介绍Boot ...

Elasticsearch 目录总结

一:Elasticsearch (及工具插件)安装相关: 二:Elasticsearch 数据新增相关: 三:Elasticsearch 数据删除相关: 四:Elasticsearch 数据更新相关: ...

Oracle FM FM09999999 确保8位数字 即使全是0

Select TO_CHAR(12.123,'0999.999'),TO_CHAR(123,'FM09999999') FROM DUAL; TO_CHAR(12.123,'0999.999') TO ...

Object-C-自定义类型归档

对自定义类型的对象进行本地化保存,那么该类型必须实现NSCoding协议! NSCoding 协议中只有两个方法,都是require的方法,一个是把本身的类型进行编码,一个是解码成类对象,返回一个对象 ...

Chrome浏览器无法观看视频,一直提示“adobe flash player 已过期” ?

很多新用户在安装了Chrome浏览器或者更新过的的时候,经常提示“ adobe flash player 已过期”的问题,反复提示,导致无法观看视频.于是从网上也找了很多办法都没有解决.这里给大 ...

ArrayList遍历的三种方式 array arrayList转换

ArrayList遍历的三种方式 - 呵呵静 - 博客园 https://www.cnblogs.com/mjyung/p/6725182.html

你可能感兴趣的:(计算机理论python字符串作业_实验与作业(Python)-04 数据类型、数学函数与字符串...)