1. 统计python源代码文件中,代码行数,去除注释,空行,进行输出?

"""

解题思路:

  • 打开文件并读取文件,readlines()方法一次性读取整个文件,并自动将内容分析成一个行的列表,循环一行一行读取判断

  • 切除空格.strip方法,判断注释.startswith('#')

  • read() 读取整个文件,并将整个文件放入一个字符串变量中

  • readline() 每次读取一行,返回一个字符串对象并保留当前行的内存

  • readlines() 读取整个文件,并将整个文件按行解析成列表

"""


with open('./demo.py', 'r', encoding='UTF-8') as f:res = f.readlines()
count_line = 0
for line in res:if len(line.strip()) != 0 and not line.startswith('#'):count_line += 1print(line)
print(count_line)
  1. python调用cmd并返回结果

"""

解题思路:

  • popen函数,主要用来执行linux命令(这种调用方式是通过管道的方式来实现,函数返回一个file-like的对象)

  • 格式: os.popen(‘ipconfig’,‘r’)

  • os.system 是无法获取返回值的

  • OS.popen 带返回值的。使用.read()读取

"""


import oscmd = os.popen('ipconfig', 'r').read()  # 'r' 消除转义符带来的影响,即'\'
print('读取cmd执行结果为:\n' + cmd)
  1. 求1,2,3,4这4个数,能组成多少个互不相同且无重复的三位数,都是多少?

nums = []
for i in range(1, 5):for j in range(1, 5):for k in range(1, 5):if (i != k) and (i != j) and (k != j):n = f'{i}' + f'{j}' + f'{k}'nums.append(n)
print(f'一共可以组成{len(nums)}个无重复三位数,分别是:\n', nums)输出:
一共可以组成24个无重复三位数,分别是:['123', '124', '132', '134', '142', '143', '213', '214', '231', '234', '241', '243', '312', '314', '321', '324', '341', '342', '412', '413', '421', '423', '431', '432']
  1. 调用python打印出10000以内的对称数(回文数)(对称数(回文数)特点:数字左右对称,如:1,2,11,121,1221等)

"""
解题思路:
1、回文数(对称数),利用字符串反转,判断反转前后是否相等[::-1]
2、使用for循环 : 找出5位数中所有的回文数
"""
lis = []
for i in range(1, 10000):i = str(i)# if i == i[::-1]:  #str[::-1]直接反转字符串lis.append(i)print(f"10000以内的回文数(对称数)是{i}")
print(len(lis))# 使用for循环 : 找出5位数中所有的回文数
for n in range(10000, 100000):n = str(n)if n[0] == n[-1] and n[1] == n[-2]:print(n)
  1. 给定一个整数N,和一个0-9的数K,要求返回0~N中数字K出现的次数

"""

解题思路:

  • 遍历循环0-N之间的数

  • 出现一次K,计数器+1

  • 需要将这个数的个十百千位上都遍历一遍和要找的数字进行对比

  • 采用取余取模的方式

"""

def countK(n, k):count = 0for i in range(0, n + 1):if i == 0 and k == 0:count += 1while i > 0:j = i % 10 # 取模 - 返回除法的余数# 按照个十百千位上都遍历一遍i = i // 10 # 取整除 - 返回商的整数部分(向下取整)if j == k:count += 1return countprint(countK(20,8))
  1. 判断101-200之间有多少个素数,并输出所有素数(质数)?

"""

解题思路:

  • 循环遍历101-200之间的数。

  • 然后用101-200之间的数去整除2到该数前面的一个数(例如是113,则用113整除2~112之间的数)

  • 只要整除不等于0,就是素数

"""


newList = []
for i in range(101, 200):for j in range(2, i):  # 遍历因子数if i % j == 0:breakelse:newList.append(i)
print(newList)输出:
[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]
  1. excel文件中,把某个英文替换成数字?

"""

解题思路:

  • 引入pandas,读取文件

  • 使用loc索引器,选取行列组合

  • df1['列名'] = df1['列名'].astype('int') # 强制修改格式

"""


import pandas as pd# 读取excel
df1 = pd.read_excel(r"E:/python.xlsx", sheet_name="Sheet1", header=0)
# 提取一个营业额列,一个列就是一个Series
print(df1.head(2))
df1.loc[0,'营业额'] = '11111' #修改第0行 营业额列的值
print(df1.head(2))输出:年    月     公司       营业额
0  2018  Jan  10104     aaaaa
1  2018  Jan  10105  14211.79年    月     公司       营业额
0  2018  Jan  10104     11111
1  2018  Jan  10105  14211.79
  1. 输一个IP地址,然后拼出它C段 ?

"""

解题思路:

  • 字符串切割拼接新字符串192.168.1.1~192.168.1.1.255

  • 截取前3位 拼接+循环1-256

"""

# 使用 str.split() 切割字符串,切片,生成列表
# " ".join(list) 列表拼接字符串
def c_ip(ip):# ip = "192.168.2.5"for i in range(1, 256):i = str(i)str_ip = ip.split('.')[0:3]  # 字符串切割取前3位相同数字str_ip.append(i)cip = ".".join(str_ip)print(cip)print(c_ip("192.168.1.5"))输出:
192.168.1.1
192.168.1.2
......
192.168.1.253
192.168.1.254
192.168.1.255# 使用字符串的 rfind() 方法可以查找指定字符串的最后一次出现的位置
def get_ips(ip):iplist = []ips_str = ip[:ip.rfind('.')] # print(ips_str)for ips in range(1, 256):ipadd = ips_str + '.' + str(ips)iplist.append(ipadd)return iplistprint(get_ips("115.114.0.2"))输出:
['115.114.0.1', '115.114.0.2', '......','115.114.0.254', '115.114.0.255']
  1. python统计字符串每个字母出现的次数

str = "abcabcefg"
d = {}
for i in str:count = str.count(i)d[i] = count
print(d)输出:
{'a': 2, 'b': 2, 'c': 2, 'e': 1, 'f': 1, 'g': 1}
  1. 输入一个正整数数组,把数组里所有数字拼接起来排成一个数。打印能拼接出的所有数字中最大的一个?

"""

解题思路:

  • 先做冒泡排序,使序列从小到大排序

  • 然后使用列表的reverse()方法,做逆序排列,使整个列表从大到小排序,结果直接体现在原来的列表里面

  • 对列表做join拼接处理,此时注意,list里面是int,需要遍历把数字全部转化为字符串

  • join(以指定的字符连接生成一个新的字符串)

"""

def num(lis):for i in range(len(lis) - 1):for j in range(len(lis) - i - 1):if lis[j] > lis[j + 1]:lis[j], lis[j + 1] = lis[j + 1], lis[j]return lislis = [55, 33, 2, 88]
lis1 = num(lis)
lis1.reverse() # 倒叙直接作用在原字符串
print(lis1)
res = "".join("%s" % id for id in lis1)  # 遍历list,把list里面的数字全部转化为字符串
print(f"拼接出的所有数字中最大的一个是 :{res}")输出:
[88, 55, 33, 2]
拼接出的所有数字中最大的一个是 :8855332

Python编程题自用(一)相关推荐

  1. 记一次面试过程中的Python编程题

    这几天面试过程中遇到一道Python编程题,题目如下: 面试中遇到一个Python编程问题:一个字符串,将里面的数字取出来,如果第一个数字前面是+,表示整个数字为正数,如果第一个数字前面是-,表示数字 ...

  2. 首先定义一个Point (点)类,包含属性x,y(x,y为坐标点),方法有setPoint、getX、getY和OprintInfo...python编程题练习

    复习python编程题集合的第五题,若有错误和改进意见,欢迎评论交流!            首先定义一个Point (点)类:                   (1)包含属性x,y(x,y为坐标 ...

  3. Python编程题每日一练day1(附答案)

    Python编程题每日一练day1

  4. 100+Python编程题给你练(附答案)

    大家如果能坚持独立思考完成以下题目,一定可以帮大家轻松 get Python 的编程技能.目前,这个项目已经获得了 3994 Stars,2952 Forks. Github 地址:Python-pr ...

  5. python编程题-python编程题库

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 上期题目连接:1000道python题库系列分享十一(9道)上期题目答案:? 本期 ...

  6. 从屌丝到高手,三道Python编程题,九种解题算法,看看你属于哪一类

    大家在平时刷题的过程中,不仅仅要注意理解问题的本质,而且要在解决问题的基础上,优化自己的解题思路和程序. 今天,小编就带领大家来进行三道简单问题的解决,从屌丝解法到进阶解法再到高手解法,一步步的带领大 ...

  7. python程序设计题库-python编程题库

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 上期题目连接:1000道python题库系列分享十一(9道)上期题目答案 ...

  8. python身份证城市定位程序输入点_有关一道身份证的python编程题

    有关一道身份证的题目,要求python解决 就昨天晚上嗷一个妹纸问我这样一道问题哈: 问题: 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17 ...

  9. Python编程题汇总

    Python编程复习 1.1找出列表中单词最长的一个 找出列表中单词最长的一个def test():a = ["hello", "world", "y ...

最新文章

  1. php禁止代理ip访问_php禁止某ip或ip地址段访问的方法
  2. 面向切面编程应用_应用面向方面的编程
  3. python图像加密模块_使用Pycryp的图像加密和解密
  4. Please remove usages of `jcenter()` Maven repository from your build scripts and migrate your build
  5. axios 获取上传进度_PHP获取HTTP body内容的方法总结
  6. 字节跳动全资收购北京麦田?回应称只收购了麦田旗下一家公司
  7. 一家世界500强企业为什么还要做不赚钱的生意?
  8. 【解决】Django下使用sqlite3的相关问题
  9. replace()替换文字扑获组做法
  10. 此次边路调整系统推荐射手走哪路_王者荣耀:射手调整前瞻,阿离回归边路!新英雄/皮肤下周上架...
  11. 施乐S2011设置IP地址,打印自检页方法
  12. 常见的windows 命令大全
  13. android平板8英寸,8英寸安卓系统 Newpad P10平板电脑评测
  14. 老子道德经原文加讲解
  15. cesium等高线_Cesium专栏-空间分析之地形等高线(附源码下载)
  16. 一公司的产品策划职位要求
  17. Ac4GlcNAz,98924-81-3,N-乙酰葡糖胺叠氮基,可以进行糖化学修饰
  18. iOS安全攻与防(总篇)
  19. Linux实战教学笔记28:企业级LNMP环境应用实践
  20. 如何使用计算机查询本机网卡信息,本机mac地址查询的三种方法

热门文章

  1. 时标网络图-案例计算题
  2. 将布局生成图片进行打印
  3. 天使童装微信小程序支付流程:
  4. 《被讨厌的勇气》书摘心得之一切烦恼都来自人际关系(1)
  5. TOM企业邮箱教您如何提升邮箱密码安全
  6. 网络适配器网卡名称变成WLAN2的解决方法
  7. java实现树型日记本_用Java语言实现的日记本.pdf
  8. 组态王的c语言语法,组态王常用的函数()
  9. php中 b=a-=k =p,详细介绍下“K=K、K=A、A=B”代表的是什么意思?
  10. 选择好的java培训机构,助你求职脱颖而出