1、冒泡排序

lis = [56,12,1,8,354,10,100,34,56,7,23,456,234,-58]def sortport():for i in range(len(lis)-1):for j in range(len(lis)-1-i):if lis[j] > lis[j+1]:lis[j],lis[j+1] = lis[j+1],lis[j]return lis

2、计算x的n次方的方法

def power(x, n):s = 1while n > 0:n = n - 1s = s * xreturn s

3、计算a*a + b*b + c*c + ……

def calc(*numbers):sum = 0for n in numbers:sum = sum + n * nreturn sum

4、计算阶乘n!

def fac():num = int(input("请输入一个数字: "))factorial = 1# 查看数字是负数,0 或 正数if num < 0:print("抱歉,负数没有阶乘")elif num == 0:print("0 的阶乘为 1")else:for i in range(1, num + 1):factorial = factorial * iprint("%d 的阶乘为 %d" % (num, factorial))

def factorial(n):result = nfor i in range(1, n):result *= ireturn result

def fact(n):if n==1:return 1return n * fact(n - 1)

5、列出当前目录下的所有文件和目录名

[d for d in os.listdir('.')]

6、把一个list中所有的字符串变成小写:

L = ['Hello', 'World', 'IBM', 'Apple']
[s.lower() for s in L]

7、输出某个路径下的所有文件和文件夹的路径

def print_dir():filepath = input("请输入一个路径:")if filepath == "":print("请输入正确的路径")else:for i in os.listdir(filepath):       #获取目录中的文件及子目录列表print(os.path.join(filepath,i))  #把路径组合起来print(print_dir())

8、输出某个路径及其子目录下的所有文件路径

def show_dir(filepath):for i in os.listdir(filepath):path = (os.path.join(filepath, i))print(path)if os.path.isdir(path):      #isdir()判断是否是目录show_dir(path)             #如果是目录,使用递归方法filepath = "C:\Program Files\Internet Explorer"
show_dir(filepath)

9、输出某个路径及其子目录下所有以.html为后缀的文件

def print_dir(filepath):for i in os.listdir(filepath):path = os.path.join(filepath, i)if os.path.isdir(path):print_dir(path)if path.endswith(".html"):print(path)filepath = "E:\PycharmProjects"
print_dir(filepath)

10、把原字典的键值对颠倒并生产新的字典

11、打印九九乘法表

for i in range(1, 10):for j in range(1, i+1):# print('{}x{}={}\t'.format(j, i, i*j), end='')print('%d x %d = %d \t'%(i, j, i*j),end='')print()

通过指定end参数的值,可以取消在末尾输出回车符,实现不换行。

12、替换列表中所有的3为3a

num = ["harden","lampard",3,34,45,56,76,87,78,45,3,3,3,87686,98,76]
# print(num.count(3))
# print(num.index(3))
for i in range(num.count(3)):     #获取3出现的次数ele_index = num.index(3)      #获取首次3出现的坐标num[ele_index]="3a"           #修改3为3print(num)

13、打印每个名字

L = ["James","Meng","Xin"]
for i in range(len(L)):print("Hello,%s"%L[i])

** 善于使用rang(),会使问题变得简单

14、合并去重

list1 = [2, 3, 8, 4, 9, 5, 6]
list2 = [5, 6, 10, 17, 11, 2]list3 = list1 + list2
print(list3)                # 不去重只进行两个列表的组合
print(set(list3))           # 去重,类型为set需要转换成list
print(list(set(list3)))

15、随机生成验证码的两种方式

import random
list1=[]
for i in range(65,91):list1.append(chr(i))     #通过for循环遍历asii追加到空列表中
for j in range(97,123):list1.append(chr(j))
for k in range(48,58):list1.append(chr(k))
ma = random.sample(list1,6)
print(ma)                    #获取到的为列表
ma = ''.join(ma)             #将列表转化为字符串
print(ma)

import random,string
str1 = "0123456789"
str2 = string.ascii_letters     # string.ascii_letters 包含所有字母(大写或小写)的字符串
str3 = str1+str2
ma1 = random.sample(str3,6)     #多个字符中选取特定数量的字符
ma1 = ''.join(ma1)              #使用join拼接转换为字符串
print(ma1)                      #通过引入string模块和random模块使用现有的方法

#随机数字小游戏
import random
i = 1
a = random.randint(0,100)
b = int( input('请输入0-100中的一个数字\n然后查看是否与电脑一样:'))
while a != b:if a > b:print('你第%d输入的数字小于电脑随机数字'%i)b = int(input('请再次输入数字:'))else:print('你第%d输入的数字大于电脑随机数字'%i)b = int(input('请再次输入数字:'))i+=1
else:print('恭喜你,你第%d次输入的数字与电脑的随机数字%d一样'%(i,b))

16、计算平方根

num = float(input('请输入一个数字: '))
num_sqrt = num ** 0.5
print(' %0.2f 的平方根为 %0.2f'%(num ,num_sqrt))

17、判断字符串是否只由数字组成

def is_number(s):try:float(s)return Trueexcept ValueError:passtry:import unicodedataunicodedata.numeric(s)return Trueexcept (TypeError, ValueError):passreturn False

print(chri.isdigit())       #检测字符串是否只由数字组成
print(chri.isnumeric())     #检测字符串是否只由数字组成,这种方法是只针对unicode对象

18、判断奇偶数

num = int(input("输入一个数字: "))
if (num % 2) == 0:print("{0} 是偶数".format(num))
else:print("{0} 是奇数".format(num))

while True:try:num = int(input('输入一个整数:'))    #判断输入是否为整数except ValueError:                      #不是纯数字需要重新输入print("输入的不是整数!")continueif num % 2 == 0:print('偶数')else:print('奇数')break

19、判断闰年

year = int(input("输入一个年份: "))
if (year % 4) == 0:if (year % 100) == 0:if (year % 400) == 0:print("{0} 是闰年".format(year))   # 整百年能被400整除的是闰年else:print("{0} 不是闰年".format(year))else:print("{0} 是闰年".format(year))       # 非整百年能被4整除的为闰年
else:print("{0} 不是闰年".format(year))

year = int(input("请输入一个年份:"))
if (year % 4) == 0 and (year % 100) != 0 or (year % 400) == 0:print("{0}是闰年".format(year))
else:print("{0}不是闰年".format(year))

import calendaryear = int(input("请输入年份:"))
check_year=calendar.isleap(year)
if check_year == True:print ("%d是闰年"% year)
else:print ("%d是平年"% year)

20、获取最大值

N = int(input('输入需要对比大小数字的个数:'))
print("请输入需要对比的数字:")
num = []
for i in range(1,N+1):temp = int(input('输入第 %d 个数字:' % i))num.append (temp)print('您输入的数字为:',num)
print('最大值为:',max(num))

N = int(input('输入需要对比大小数字的个数:\n'))num = [ int(input('请输入第 %d 个对比数字: \n'%i))for i in range(1,N+1)]print('您输入的数字为:',num)
print('最大值为: ',max(num))

21、斐波那契数列

斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13;特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。

# 判断输入的值是否合法
if nterms <= 0:print("请输入一个正整数。")
elif nterms == 1:print("斐波那契数列:")print(n1)
else:print("斐波那契数列:")print(n1, ",", n2, end=" , ")while count < nterms:nth = n1 + n2print(n1+n2, end=" , ")# 更新值n1 = n2n2 = nthcount += 1

22、十进制转二进制、八进制、十六进制

# 获取输入十进制数
dec = int(input("输入数字:"))print("十进制数为:", dec)
print("转换为二进制为:", bin(dec))
print("转换为八进制为:", oct(dec))
print("转换为十六进制为:", hex(dec))

23、最大公约数

def hcf(x, y):"""该函数返回两个数的最大公约数"""# 获取最小值if x > y:smaller = yelse:smaller = xfor i in range(1, smaller + 1):if ((x % i == 0) and (y % i == 0)):hcf = ireturn hcf# 用户输入两个数字
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))print(num1, "和", num2, "的最大公约数为", hcf(num1, num2))

23、最小公倍数

# 定义函数
def lcm(x, y):#  获取最大的数if x > y:greater = xelse:greater = ywhile(True):if((greater % x == 0) and (greater % y == 0)):lcm = greaterbreakgreater += 1return lcm# 获取用户输入
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))print( num1,"和", num2,"的最小公倍数为", lcm(num1, num2))

24、简单计算器

# 定义函数
def add(x, y):"""相加"""return x + ydef subtract(x, y):"""相减"""return x - ydef multiply(x, y):"""相乘"""return x * ydef divide(x, y):"""相除"""return x / y# 用户输入
print("选择运算:")
print("1、相加")
print("2、相减")
print("3、相乘")
print("4、相除")choice = input("输入你的选择(1/2/3/4):")num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))if choice == '1':print(num1, "+", num2, "=", add(num1, num2))elif choice == '2':print(num1, "-", num2, "=", subtract(num1, num2))elif choice == '3':print(num1, "*", num2, "=", multiply(num1, num2))elif choice == '4':if num2 != 0:print(num1, "/", num2, "=", divide(num1, num2))else:print("分母不能为0")
else:print("非法输入")

25、生成日历

# 引入日历模块
import calendar# 输入指定年月
yy = int(input("输入年份: "))
mm = int(input("输入月份: "))# 显示日历
print(calendar.month(yy, mm))

26、文件IO

# 写文件
with open("test.txt", "wt") as out_file:out_file.write("该文本会写入到文件中\n看到我了吧!")# Read a file
with open("test.txt", "rt") as in_file:text = in_file.read()print(text)

27、字符串判断

# 测试实例一
print("测试实例一")
str = "runoob.com"
print(str.isalnum()) # 判断所有字符都是数字或者字母
print(str.isalpha()) # 判断所有字符都是字母
print(str.isdigit()) # 判断所有字符都是数字
print(str.islower()) # 判断所有字符都是小写
print(str.isupper()) # 判断所有字符都是大写
print(str.istitle()) # 判断所有单词都是首字母大写,像标题
print(str.isspace()) # 判断所有字符都是空白字符、\t、\n、\rprint("------------------------")# 测试实例二
print("测试实例二")
str = "Bake corN"
print(str.isalnum())
print(str.isalpha())
print(str.isdigit())
print(str.islower())
print(str.isupper())
print(str.istitle())
print(str.isspace()) 

28、字符串大小写转换

str = "https://www.cnblogs.com/ailiailan/"
print(str.upper())          # 把所有字符中的小写字母转换成大写字母
print(str.lower())          # 把所有字符中的大写字母转换成小写字母
print(str.capitalize())     # 把第一个字母转化为大写字母,其余小写
print(str.title())          # 把每个单词的第一个字母转化为大写,其余小写

29、计算每个月天数

import calendar
monthRange = calendar.monthrange(2016,9)
print(monthRange)

30、获取昨天的日期

# 引入 datetime 模块
import datetime
def getYesterday(): today=datetime.date.today() oneday=datetime.timedelta(days=1) yesterday=today-oneday  return yesterday# 输出
print(getYesterday())

31、Python list常用操作

1.list负数索引

>>> li
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li[-1]
'example'
>>> li[-3]
'mpilgrim'
>>> li
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li[1:3]
['b', 'mpilgrim']
>>> li[1:-1]
['b', 'mpilgrim', 'z']
>>> li[0:3]
['a', 'b', 'mpilgrim'] 

2.list增加元素

>>> li
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li.append("new")
>>> li
['a', 'b', 'mpilgrim', 'z', 'example', 'new']
>>> li.insert(2, "new")
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new']
>>> li.extend(["two", "elements"])
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']

3.list搜索

>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> li.index("example")
5
>>> li.index("new")
2
>>> li.index("c")
Traceback (innermost last):File "<interactive input>", line 1, in ?
ValueError: list.index(x): x not in list
>>> "c" in li
False

4.list删除元素

>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> li.remove("z")
>>> li
['a', 'b', 'new', 'mpilgrim', 'example', 'new', 'two', 'elements']
>>> li.remove("new")    # 删除首次出现的一个值
>>> li
['a', 'b', 'mpilgrim', 'example', 'new', 'two', 'elements']    # 第二个 'new' 未删除
>>> li.remove("c")     #list 中没有找到值, Python 会引发一个异常
Traceback (innermost last): File "<interactive input>", line 1, in ?
ValueError: list.remove(x): x not in list
>>> li.pop()      # pop 会做两件事: 删除 list 的最后一个元素, 然后返回删除元素的值。
'elements'
>>> li
['a', 'b', 'mpilgrim', 'example', 'new', 'two']

5.list运算符

>>> li = ['a', 'b', 'mpilgrim']
>>> li = li + ['example', 'new']
>>> li
['a', 'b', 'mpilgrim', 'example', 'new']
>>> li += ['two']
>>> li
['a', 'b', 'mpilgrim', 'example', 'new', 'two']
>>> li = [1, 2] * 3
>>> li
[1, 2, 1, 2, 1, 2] 

6.使用join链接list成为字符串

>>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
>>> ["%s=%s" % (k, v) for k, v in params.items()]
['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
>>> ";".join(["%s=%s" % (k, v) for k, v in params.items()])
'server=mpilgrim;uid=sa;database=master;pwd=secret'

7.list分割字符串

>>> li = ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
>>> s = ";".join(li)
>>> s
'server=mpilgrim;uid=sa;database=master;pwd=secret'
>>> s.split(";")
['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
>>> s.split(";", 1)
['server=mpilgrim', 'uid=sa;database=master;pwd=secret']

8.list的映射关系

>>> li = [1, 9, 8, 4]
>>> [elem*2 for elem in li]
[2, 18, 16, 8]
>>> li
[1, 9, 8, 4]
>>> li = [elem*2 for elem in li]
>>> li
[2, 18, 16, 8] 

9.字典中的解析

>>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
>>> params.keys()
['server', 'uid', 'database', 'pwd']
>>> params.values()
['mpilgrim', 'sa', 'master', 'secret']
>>> params.items()
[('server', 'mpilgrim'), ('uid', 'sa'), ('database', 'master'), ('pwd', 'secret')]
>>> [k for k, v in params.items()]
['server', 'uid', 'database', 'pwd']
>>> [v for k, v in params.items()]
['mpilgrim', 'sa', 'master', 'secret']
>>> ["%s=%s" % (k, v) for k, v in params.items()]
['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']

10.list过滤

>>> li = ["a", "mpilgrim", "foo", "b", "c", "b", "d", "d"]
>>> [elem for elem in li if len(elem) > 1]
['mpilgrim', 'foo']
>>> [elem for elem in li if elem != "b"]
['a', 'mpilgrim', 'foo', 'c', 'd', 'd']
>>> [elem for elem in li if li.count(elem) == 1]
['a', 'mpilgrim', 'foo', 'c']

转载于:https://www.cnblogs.com/lxiaodi/p/10323527.html

python面试基本题(你需要的)相关推荐

  1. python面试实战题(一)

    python面试操作题整理 会不定期更新 循环报数3的出圈 按照年龄判断未成年还成年(条件语句)n多种方法 会不定期更新 循环报数3的出圈 题目: 100个人围一圈编号1-100,依次开始报数, 从1 ...

  2. Python面试20题(基础)

    最近python是真的火,加上有许多公司都在招python方面的程序员,而网上的面试题又总是千篇一律复制粘贴,在这里博主打算自己写一些python的一些面试题一些是我遇到的,觉得还不错,一些是pyth ...

  3. 掌握这30道python面试总结题,华为,阿里,腾讯offer拿到手软~

    Python是目前编程领域最受欢迎的语言.在本文中,我将总结华为.阿里巴巴等互联网公司Python面试中最常见的30个问题.每道题都提供参考答案,希望能够帮助你在求职面试中脱颖而出,找到一份高薪工作. ...

  4. python面试刷题app_Python面试的一些心得,与Python练习题分享

    关于基础 项目打算招聘一个自动化运维,主要需求是python.Linux与shell脚本能力.但面试几天发现一些问题: 简历虚假 这个不管哪行,简历含水量大都是普遍存在的,看简历犀利的一比,一面是能力 ...

  5. python面试48题及答案_python常见面试题

    面试问题: 1.python的垃圾回收机制:主要使用引用计数(reference counting)来跟踪和回收垃圾.在引用计数的基础上,通过"标记-清除"(mark and sw ...

  6. 110道Python面试真题

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 整理了一些Python面试题和面试简历,如果需要,可以参考学习 具体面试题如下: 1. ...

  7. python面试经典题_16道Python经典面试题及答案

    随着Python在企业中的应用越来越多,岗位需求越来越大,面试成为了搞定优质职位的快速方式,下面是笔者面试10余家企业总结的面试题,希望对Python从业者有帮助. 1.Python是如何进行内存管理 ...

  8. python 判断 字串包含_数百道BAT等大厂最新Python面试真题,学到你手软!

    春招临近,无论是要找工作的准毕业生,还是身在职场想要提升自己的程序员,提升自己的算法内功心法.提升 Python 编程能力,总是大有裨益的.今天,小编发现了一份好资源:Python 实现的面试题集锦! ...

  9. 110道Python面试真题和面试简历资料(附链接)

    具体面试题如下: 1.一行代码实现1--100之和 2.如何在一个函数内部修改全局变量 3.列出5个python标准库 4.字典如何删除键和合并两个字典 5.谈下python的GIL 6.python ...

最新文章

  1. 使用JDBC连接数据库时,SQL语句中提示:Unable to resolve table...(原因:数据源未配置)
  2. 常用机器学习算法汇总(中)
  3. python方向键控制角色_python方向键控制上下左右代码
  4. 项目拖太久的巨大风险
  5. 2017.4.16 级数求和 思考记录
  6. 修改linux服务器时间
  7. mysql kingshard_浅谈 Kingshard MySQL 中间件
  8. 2017 让机器给我们干活
  9. 启明星Zynq7010制作PYNQ V2.4镜像过程记录
  10. 无穷大8字型曲线方程
  11. 北斗时间周和GPS时间周计算,JAVA为例
  12. Springboot中temlates和static
  13. 计算机网络的三大功能,计算机网络主要功能
  14. 计算机网络wlan实验报告,无线网络实验报告.doc
  15. ArcGIS山体坡度、坡向分析
  16. 戴尔科技 赢在“边缘”
  17. 佳音图php,PHP5实例教程 简简单单生成条形码
  18. linux 复制并替换文件,linux – 复制/ Tarring在过去14天内修改过的文件
  19. Android版简历(二)
  20. SpringCloud之Eureka实战和架构设计解析

热门文章

  1. Pulltorefresh使用中碰到的问题
  2. Github 树形菜单插件
  3. Balanced Binary Tree leetcode java
  4. pthread_cond_wait()函数的详解
  5. PXE网络无人职守安装
  6. 学习成长就到鸿蒙思维,庆国庆,迎中秋,鸿蒙教育享双节99元开启思维之旅!!...
  7. 简单粗暴告诉你什么是区块链
  8. azure多功能成像好用吗_如何使用Azure功能处理高吞吐量消息
  9. 如何使用TensorFlow Eager执行训练自己的FaceID ConvNet
  10. java struts技术_java技术框架之:struts