python基础知识练习1
1.要求:输入A、B、C获得方程的解。

分析:通过input函数接收A,B,C的值。通过公式计算出detal的值,再根据条件进行判断,输出所需要的值:
def args_input():
try:
A = float(input('请输入A的值:'))
B = float(input('请输入B的值:'))
C = float(input('请输入C的值:'))
return A, B, C
except:
print('请输入正确的数据类型')
return args_input()
def get_delta(A, B, C):
return B ** 2 - 4 * A * C
def solve():
A, B, C = args_input()
delta = get_delta(A, B, C)
if delta < 0:
print('该方程无解')
elif delta == 0:
x = B / (-2 * A)
print('x=', x)
else:
# 计算x1 x2的值
x1 = (B + pow(delta, 0.5)) / (-2 * A)
x2 = (B - pow(delta, 0.5)) / (-2 * A)
print('x1=', x1)
print('x2=', x2)
def main():
solve()
if __name__ == '__main__':
main()
2.第n(n>=1)个人的年龄是多少?请编写函数解答

分析;可以从后往前推,采用函数递归的方式实现
def age_guess(n):
if n == 1:
return 10
else:
return age_guess(n-1)+2
print(age_guess(5))
3.a=”abbbbbccc”,使用正则表达式匹配为abccc,不管有多少b,就出现一次b。
分析:是要把‘bbbbb’换成‘b’,可以使用re.sub(pattern,repel,string)。
方法一
import re
a = 'abbbccc'
# ret = re.sub(正则,要替换的部分,字符串)
ret = re.sub(r'[b]+', 'b', a)
print(ret)
方法二
import re
regex = re.compile(r'[b]+')
d = regex.sub('b', a)
print(d)
4.默写一个通用装饰器
def set_func(func):
def call_func(*args, **kwargs):
ret = func(*args, **kwargs)
return ret
return call_func
5.当在浏览器输入www.baidu.com时候,返回页面的过程中都发生了什么?请简要写出步骤。
1.浏览器向DNS获取web服务器www.baidu.com的IP地址:115.239.210.27。
2.浏览器与IP地址为115.239.210.27的服务器进行tcp连接,端口号为443。
3.浏览器执行HTTP协议,发送GET命令,请求读取该文件。
4.www.baidun.com服务器返回该文件到客户端。
5.释放TCP连接。
6.浏览器解释该文件内容,并显示文件表示的页面
6.编写一个函数,输入一个字符串,返回字符串的倒序结果和字符长度。
方法一
def trans_str():
my_str = input("请输入要逆序的字符串")
a = list()
for var in my_str:
a.append(var)
a.reverse()
b = ''.join(a)
print(b)
trans_str()
方法二
def trans_str():
my_str = input("请输入要逆序的字符串")
my_str = my_str[::-1]
print(my_str)
trans_str()
python基础知识练习1的更多相关文章
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python基础知识(二)
以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍
- python 基础知识(一)
python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...
- python基础知识讲解——@classmethod和@staticmethod的作用
python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- python 爬虫与数据可视化--python基础知识
摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...
- python基础知识小结-运维笔记
接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...
- Python基础知识(五)
# -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...
- Python基础知识(Basic knowledge)
Python基础知识(Basic knowledge) 1.认识Python&基础环境搭建 2.Python基础(上) 3.Python基础(中) 4.Python基础(下) 5.Python ...
- Python 基础知识(一)
1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...
随机推荐
- Java实现 洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk
输入输出样例 输入 #1 100 5 5 20 9 40 3 10 8 80 6 30 输出 #1 630 import java.util.Arrays; import java.util.Scan ...
- 给Linux小白的CentOS8.1基本安装说明
写在前面的话:用过Linux的同学应该都会觉得Linux安装是件非常简单的事情,根本不值得用博客记下来!但是我发现,其实没接触过Linux的同学还真不一定会装,就像在IT行业工作过几年但一直用Wind ...
- 深入浅出-iOS Block原理和内存中位置
Posted by 微博@Yangsc_o 原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0 #简介 今天回顾一下blcok,基本 ...
- 实验五shell脚本编程
项目 内容 这个作业属于哪个课程 <班级课程的主页链接> 这个作业的要求在哪里 作业要求链接地址 学号-姓名 17043220-万文文 作业学习目标 1)了解shell脚本的概念及使用.2 ...
- 【微信H5】 Redirect_uri参数错误解决方法
1 https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx14127af0bc9fd367&redirect_uri=http ...
- Python多线程 - threading
目录 1. GIL 2. API 3. 创建子线程 4. 线程同步 4.1. 有了GIL,是否还需要同步? 4.1.1. 死锁 4.1.2. 竞争条件 4.1.3. GIL去哪儿了 4.2. Lock ...
- 在MS SQL(SSMS中)_Format_SQL_更改设置_增加命令
在MS SQL(SSMS中)_Format_SQL_更改设置_增加命令 目的:要格式化这么一段SQL语句(这是随便从网上Copy的一段),没细看内容,反正看到头疼,乱七八糟的不想看. select b ...
- Hive和HBase整合用户指南
本文讲解的Hive和HBase整合意思是使用Hive读取Hbase中的数据.我们可以使用HQL语句在HBase表上进行查询.插入操作:甚至是进行Join和Union等复杂查询.此功能是从Hive 0. ...
- numpy.stack和numpy.concatenate的区别
在使用numpy进行矩阵运算的时候踩到的坑,原因是不能正确区分numpy.concatenate和numpy.stack在功能上的差异. 先说numpy.concatenate,直接看文档: nump ...
- Java 多线程基础(六)线程等待与唤醒
Java 多线程基础(六)线程等待与唤醒 遇到这样一个场景,当某线程里面的逻辑需要等待异步处理结果返回后才能继续执行.或者说想要把一个异步的操作封装成一个同步的过程.这里就用到了线程等待唤醒机制. 一 ...