python基础之逻辑题(2)
python基础之逻辑题(2)
1.若k为整数,下列while循环执行的次数为
k=1000
while k>1:
print(k)
k=k/2 结果:10次
------------------ k=1000
while k>1:
print(k)
k=k//2 结果:9次
2.请输出正确结果
numbers = [1,2,3,4]
numbers.append([5,6,7,8]) #添加的是一个整体,想当一个元素,不要理解错了
print (len(numbers)) 结果:
5
3.求结果
import math
print(math.floor(5.5)) -------------------
结果:
python2 :5.0
python3 : 5
4.求结果
names1 = ['Amir','Barry','Chaies','Dao']
names2 = names1
names3 = names1[:]
names2[0]='Alice'
names3[1]='Bob'
sum = 0
for ls in (names1,names2,names3):
if ls[0]=='Alice':
sum+=1
if ls[1]=='Bob':
sum+=10
print(sum) ------------------------------------
names1
['Alice', 'Barry', 'Chaies', 'Dao']
names2 此时是赋值,相当于完全复制,所以其内存空间与值与names1是完全相同的
['Alice', 'Barry', 'Chaies', 'Dao']
names3 此时是浅拷贝,所以相当于只拷贝到表层,names3[1]='Bob' 时只改变了names3 中的值
['Amir', 'Bob', 'Chaies', 'Dao'] 结果:
12
5.输入一个字符串,输出该字符串中字符的所有组合
#列如 输入字符串'1,2,3'则输出位1,2,3,12,13,23,123(组合数不考虑顺序 所以12,21是等价的) imp
s = "1,2,3"
#
lst = s.split(",") # [1, 2, 3] for i in range(1, 2**len(lst)):
# print(i)
bin = format(i, ""+str(len(lst))+"b")
# print(bin)
num = ""
for j in range(len(bin)):
if bin[j] == '':
num += str(lst[j])
print(num) 结果
3
2
23
1
13
12
123
6.执行下面代码后,i和n的值为
int i=10
int n=i++%5 结果
11,0 i++ 是后加加,在表达式内不自增
int n= i++%5; // i=10进入,n=0,出了表达式 才自增 i=11; int i=11
int m= ++i%5; // i=11 进入, 前加加,则先增1,i=12, m=2, 出表达式 i 维持12
7.使用生成器编写fib函数,函数声明为fib(max)输入一个参数max值,使得该函数可以这样调用
def fib(max):
yield 1000
for i in range(100):
print(fib(1000)) #生成器
#并产生如下结果(斐波那契数列)1,1,2,3,5,8,13,21,....
n=100
a,b =1,1
while a<n:
print(a)
a,b=b,a+b
8.写一个base62encode 函数,62进制
def base62Encode(n):
s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
lst = []
while n > 0:
lst.append(n % 62) #
n = n // 62 lst = lst[::-1]
result = ""
for item in lst: #
result += s[item] return result print(base62Encode(58)) 结果
w
9.请实现一个装饰器,限制该函数被调用的频率,入十秒一次
import time def wrapper(fn):
n = 0
def inner(*args, **kwargs):
nonlocal n
now = time.time()
if now - n > 10:
n = now
ret = fn(*args, **kwargs)
return ret
else:
print("不让访问, 您访问的频率太快了") return inner @wrapper
def target():
pass target()
time.sleep(10) # 让他睡10秒
target()
target()
target() 结果:
不让访问,你访问的频率太快了
不让访问,你访问的频率太快了
10.map(str,[1,2,3,4,5])输出结果是
结果:
python3: (返回迭代器)
<map object at 0x0000020A1DFF7198>
python2: (返回列表)
['', '', '', '', '']
python基础之逻辑题(2)的更多相关文章
- python基础之逻辑题(3)
Python基础之逻辑题(3) 1.编写一个函数实现将IP地址转换成一个整数 2.求结果:---lambda 3.求a的结果 4.求下面nums的输出 5.求下面片段的输出 6.写出程序的结果:--- ...
- python基础之逻辑题(1)
python基础之逻辑题(1) 1.用一行代码实现数值交换? 2.求结果--fromkeys? 3.1,2,3,4,5能组成多少个互不相同且无重复的三位数? 4.有两个字符串列表a和b,每个字符串是逗 ...
- 面试题之第一部分(Python基础篇) 80题
第一部分(python基础篇)80题 为什么学习Python?==*== # 1. python应用于很多领域,比如后端,前端,爬虫,机器学习(人工智能)等方面,几乎能涵盖各个开发语言的领域,同时它相 ...
- python面试题解析(python基础篇80题)
1. 答:出于编程的喜爱,以及行业本身的前瞻性,创造性,优越性,越是综合的科目越能检验一个人的能力,喜欢这种有挑战的事情. 2. 答:跟随老师学习,以及自己查询资料,结合实战,进行输入输出以及 ...
- python(9)- python基础知识刷题
1. 执行 Python 脚本的两种方式 交互方式:命令行 Windows操作系统下,快捷键cmd,输入“python”启动交互式python解释器. 文件方式:python文件 2. 简述位.字 ...
- python基础语法170题
语言特性 1.谈谈对 Python 和其他语言的区别2.简述解释型和编译型编程语言3.Python 的解释器种类以及相关特点?4.说说你知道的Python3 和 Python2 之间的区别?5.Pyt ...
- python基础面试常见题
1.为什么学习Python? Python是目前市面上,我个人认为是最简洁.最优雅.最有前途.最全能的编程语言,没有之一. 2.通过什么途径学习的Python? 通过自学,包括网上查看一些视频,购买一 ...
- python基础易错题
1.以下代码输入什么: class Person: a = 1 def __init__(self): pass def getAge(self): print(__name__) p = Perso ...
- python基础技巧综合训练题2
1,判断一个字符串中的每一个字母是否都在另一个字符串中,可以利用集合的特性来解,集合的元素如果存在,再次更新(update) 是添加不进集合的,那么集合的长度还是跟原来一样,如果添加进去,集合长度就会 ...
随机推荐
- 独立版的 Asio安装与使用
Asio分为独立版和Boost版.两者使用方法基本一致,只是头文件不同.Boost版是作为Boost的子库提供的. 因为Asio的组织形式为hpp文件(不同一般的C++项目区分头文件.h和源文件.cp ...
- Linux/UNIX之信号(1)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/walkerkalr/article/details/24462723 信号(1) 信号是软件中断.每 ...
- Promise对象和async函数
Promise对象 //1开始 function fna(){ console.log('1开始'); var p = new Promise(function(resolve, reject){ / ...
- 区间加值,区间gcd, 牛客949H
牛客小白月赛16H 小阳的贝壳 题目链接 题意 维护一个数组,支持以下操作: 1: 区间加值 2: 询问区间相邻数差的绝对值的最大值 3: 询问区间gcd 题解 设原数组为\(a\), 用线段树维护\ ...
- Java IO:如何得到Jar包中内嵌Jar包的时间戳
ClassLoader bladeClassLoader = BladeCLI.class.getClassLoader(); URL url = bladeClassLoader.getResour ...
- web前端学习常用网址记录
jetbrains下载各种软件和试用 www.jetbrains.com www.jetbrains.com/idea php服务器下载 php文档查询 php.net webAPI网站(各种教程文档 ...
- poj 2001 Shortest Prefixes(字典树trie 动态分配内存)
Shortest Prefixes Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 15610 Accepted: 673 ...
- SQL优化系列(一)- 优化SQL
优化SQL SQL开发人员从源代码中发现一条跑得很慢的SQL, 如何优化? DBA从AWR报告中发现一条跑得很慢的SQL,没有源代码或者不想修改源代码怎么办? SQL自动优化工具SQL Tuning ...
- 怎么使用mysqlreplicate快速搭建MySQL主从呢?
用其中的mysqlreplicate工具来快速搭建MySQL主从环境. HE1:192.168.1.248 slave HE3:192.168.1.250 master 实战 Part1:安装mysq ...
- Sublime Text2的常用技巧总结(更新中...)
1. 选中一段内容后,按 Tab 或者 shift Tab 可以控制缩进 2. alt + shift + 数字, 开启多个窗口,数字代表分割后的个数,分割后按 Ctrl + shift + 数字 可 ...