记一次面试过程中的Python编程题
这几天面试过程中遇到一道Python编程题,题目如下:
面试中遇到一个Python编程问题:一个字符串,将里面的数字取出来,如果第一个数字前面是+,表示整个数字为正数,如果第一个数字前面是-,表示数字为负数,数字不能越界
1.使用循环,最笨的办法
# coding = 'utf-8'
# @作者: zach
# @时间:2020/5/8 0008 17:36
# @文件:一道面试题.py
import sys
import re digit = '0123456789'
str0 = '-b-03dd2+349'
symbol = '+-' def get_digit(string):
num = ''
syb = ''
#获取数字
for i in range(len(string)):
if string[i] in digit:
num += string[i]
#获取正负号
for j in range(len(string)):
if string[j] in symbol and string[j+1] in digit:
syb = string[j]
break
num = syb + num
num = int(num)
#判断是否越界
if abs(num) > sys.maxsize:
return ""
print("整数越界")
else:
return int(num) n = get_digit(str0)
print(n)
运行结果:
2.使用filter函数
# coding = 'utf-8'
# @作者: zach
# @时间:2020/5/8 0008 17:36
# @文件:一道面试题.py
import sys
import re #通过filter函数获取
num = filter(str.isdigit, str0)
num = ''.join(list(num))
print(num)
for j in range(len(str0)):
if str0[j] in symbol and str0[j+1] in digit:
sym = str0[j]
break num = sym + num
print(int(num))
运行结果:
3.使用正则表达式获取
# coding = 'utf-8'
# @作者: zach
# @时间:2020/5/8 0008 17:36
# @文件:一道面试题.py
import sys
import re num = re.findall(r'(-?\d+)', str0)
num = ''.join(num)
print(int(num))
运行结果:
上面3种方法以第3种方法代码最少,效率最高。
各位读者还有什么方法,可以在后面评论
记一次面试过程中的Python编程题的更多相关文章
- 面试过程中javascript原型链与作用域的问题
现在校招也基本结束了,所以有时间把这段时间遇到的问题做个总结.在很多的笔试题目中,发现有很多对JS作用域方面的考察,所以查阅资料总结一下. 众所周知,js不像其他OOP语言那样,他是一种弱类型的语言, ...
- 数据结构笔记01:编程面试过程中常见的10大算法(java)
以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念.由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍.本文将从Java的角度看问题,包含下面的这些概念: ...
- Oracle面试过程中常见的二十个问题
1.冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份.而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库.热备份的优点在于当备份时, ...
- 讲解Oracle面试过程中常见的二十个问题
1.冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份.而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库.热备份的优点在于当备 ...
- 记一个VS连接过程中找不到cpp的解决方法
在新增几个qt页面时,发现原来没动的几个cpp 连接报错了,错误均是qt的相关文件找不到 应该是moc文件没有生产或者没有被包含进工程.我想着既然我没动,应该不会是moc的原因,就在其他方向解决了很久 ...
- 【强烈推荐】《剑指Offer:名企面试官精讲典型编程题》一书中IT名企经典面试题
各位程序猿: <剑指Offer>一书源自该书作者何海涛坚持更新与编写的博客(http://zhedahht.blog.163.com/),该博客收集整理了大量如微软.Goo ...
- 《剑指offer-名企面试官精讲典型编程题》读后感
首先,不得不说这是一本好书!!! 我接触这本书是在学长的推荐下去看的,而且口碑还是挺好的一本书,豆瓣的评分也比较高,当我刚看了它,我就深深的爱上了这本书,到现在为止,我已经看了三遍这本书了,平时无聊时 ...
- 书评<<剑指offer 名企面试官精讲典型编程题>>
前前后后阅读了一周, 感慨很多, 面试考察的是一个人的综合能力, 这一点从面试官的角度去解读, 确实对面试的理解更立体. *) 具体考察的点1) 扎实的基础2) 高质量的代码3) 清晰的思路4) ...
- 运维笔试Python编程题
一.用Python语言把列表[1,3,5,7,9]倒序并将元素变为字符类型,请写出多种方法: 第一种方法: list = [1, 3, 5, 7, 9] list.reverse() list2 = ...
随机推荐
- string 从下标0 一直截到倒数第三位
StringUtils.substring(String.valueOf(maxSequence), 0, -3)如上,关键就是那个-3,表示倒数第三位.
- CentOS7安装MYCAT中间件
MYCAT是一个被广泛使用的功能强大的开源的数据库中间件,当然他的理想不仅仅是做一个中间件.这篇文章主要记录MYCAT服务的搭建过程,下篇会继续更新MYCAT的使用配置. 本篇记录将使用CentOS7 ...
- mysql定期任务
进来开发项目时遇到一个问题,就是每一周需要清理服务器数据库数据.现在我就来记录一下用Navicat for MySQL 来实现定时任务. 1.启动Navicat for MySQL,新建数据库连接,打 ...
- Some Modern Softwares' drawbacks: User experience 12/29/2015
In the nowadays, there are many APP in the PC or smart Phone. Some of them can't meet the customers' ...
- [转载]利用分块传输绕过WAF进行SQL注入
原理 客户端给服务器发送数据的时候,如果我们利用协议去制作payload,就可以绕过http协议的waf,实现SQL注入 分块传输编码(Chunked transfer encoding)是HTTP中 ...
- Linux常见提权
常见的linux提权 内核漏洞提权 查看发行版 cat /etc/issue cat /etc/*-release 查看内核版本 uname -a 查看已经安装的程序 dpkg -l rpm -qa ...
- java IO流 之 字节流与字符流
其实学习了file文件基础类,后面的字节流和字符流都特别简单了,首先需要知道字节流和字符流的区别 字节流: 用来传送图片.各种文件.大文件.文本都是通过字节流进行传输的. 字符流: 只能读取文本信息 ...
- 大数据hbase分布式安装及其部署。
大数据hbase分布式安装及其部署. 首先要启动Hadoop以及zookeeper,可以参考前面发布的文章. 将hbase的包上传至master节点 这里我使用的是1.3.6的版本,具体的根据自己的版 ...
- php 可变变量 $$name
//可变变量 $name = 'abc'; $$name = '; echo $name . "<br/>"; // abc echo $$name . echo $a ...
- git在用https进行push时候免输账密的方法
先新建一个文件 $ touch ~/.git-credentials $ vim ~/.git-credentials 进去添加内容(github为github.com,码云为gitee.com) h ...