python基础之逻辑题(2)

  1.若k为整数,下列while循环执行的次数为?

   2.请输出正确结果-----numbers?

   3.求结果-----math?

    4.求结果-----sum?

   5.输入一个字符串,输出该字符串中字符的所有组合?

   6.i和n的值?

   7.生成器编写fib函数?

   8.写一个base62ebcode,62进制?

   9.实现一个装饰器,限制该函数被调用的频率?

  10.求结果------map?

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)的更多相关文章

  1. python基础之逻辑题(3)

    Python基础之逻辑题(3) 1.编写一个函数实现将IP地址转换成一个整数 2.求结果:---lambda 3.求a的结果 4.求下面nums的输出 5.求下面片段的输出 6.写出程序的结果:--- ...

  2. python基础之逻辑题(1)

    python基础之逻辑题(1) 1.用一行代码实现数值交换? 2.求结果--fromkeys? 3.1,2,3,4,5能组成多少个互不相同且无重复的三位数? 4.有两个字符串列表a和b,每个字符串是逗 ...

  3. 面试题之第一部分(Python基础篇) 80题

    第一部分(python基础篇)80题 为什么学习Python?==*== # 1. python应用于很多领域,比如后端,前端,爬虫,机器学习(人工智能)等方面,几乎能涵盖各个开发语言的领域,同时它相 ...

  4. python面试题解析(python基础篇80题)

    1.   答:出于编程的喜爱,以及行业本身的前瞻性,创造性,优越性,越是综合的科目越能检验一个人的能力,喜欢这种有挑战的事情. 2.   答:跟随老师学习,以及自己查询资料,结合实战,进行输入输出以及 ...

  5. python(9)- python基础知识刷题

    1.  执行 Python 脚本的两种方式 交互方式:命令行 Windows操作系统下,快捷键cmd,输入“python”启动交互式python解释器. 文件方式:python文件 2.  简述位.字 ...

  6. python基础语法170题

    语言特性 1.谈谈对 Python 和其他语言的区别2.简述解释型和编译型编程语言3.Python 的解释器种类以及相关特点?4.说说你知道的Python3 和 Python2 之间的区别?5.Pyt ...

  7. python基础面试常见题

    1.为什么学习Python? Python是目前市面上,我个人认为是最简洁.最优雅.最有前途.最全能的编程语言,没有之一. 2.通过什么途径学习的Python? 通过自学,包括网上查看一些视频,购买一 ...

  8. python基础易错题

    1.以下代码输入什么: class Person: a = 1 def __init__(self): pass def getAge(self): print(__name__) p = Perso ...

  9. python基础技巧综合训练题2

    1,判断一个字符串中的每一个字母是否都在另一个字符串中,可以利用集合的特性来解,集合的元素如果存在,再次更新(update) 是添加不进集合的,那么集合的长度还是跟原来一样,如果添加进去,集合长度就会 ...

随机推荐

  1. file.length()方法返回0字节

    本地调试ok 扔到服务器上就返回0 初步估测是因为使用jnotify监控文件修改事件的时候,刚好文件被重命名了(下载完成后xxx.tmp,被改成正确的后缀名) 2019-7-20:不是上边说的那个亚子 ...

  2. 【笔记】LR配置ODBC连接数据库进行参数化(mysql )未完待续

    很多时候我们需要大量的参数数据,但是光光靠手填写是非常麻烦的,既然被测对象的数据都在数据库,那么我们直接读取数据库回来就轻松简便很多. data  wizard 提供了一个从ODBC的连接获得数据转化 ...

  3. PyCharm使用之配置SSH Interpreter

      在文章PyCharm使用之利用Docker镜像搭建Python开发环境中,该文章介绍了在PyCharm中如何利用Docker镜像搭建Python开发环境.在本文中,将会介绍如何使用PyCharm来 ...

  4. 【JZOJ5086】【GDOI2017第四轮模拟day1】数列 折半搜索

    题面 有一个长度为n 的排列,现在有一些位置的数已经模糊不清了,你只知道这个排列的逆序对个数是K,你能计算出总共有多少可能的排列吗? 对于100% 的数据,n <=10^3,K<=10^9 ...

  5. Sass @at-root (1)

    在SassConf大会上,给我们传递了Sass3.3的新特性.这些新特性有很多意义,特别是@at-root指令,这让你的代码会得更佳清洁. 今天我们主要一起来了解Sass中的@at-root特性的使用 ...

  6. Python多线程在爬虫中的应用

    题记:作为测试工程师经常需要解决测试数据来源的问题,解决思路无非是三种:(1)直接从生产环境拷贝真实数据 (2)从互联网上爬取数据 (3)自己用脚本或者工具造数据.前段时间,为了获取更多的测试数据,笔 ...

  7. Effective Modern C++:07并发API

    C++11的志伟功勋之一,就是将并发融入了语言和库中,因此在C++的历史上,程序员可以首次跨越所有平台撰写具有标准行为的多线程程序. 35:优先选用基于任务而非基于线程的程序设计 如果需要以异步的方式 ...

  8. android非硬件加速绘制简单流程

    这里的硬件加速是指openGL + GPU 如果不适用硬件加速: 1 ViewRootImpl.java draw:if (!dirty.isEmpty() || mIsAnimating || ac ...

  9. LeetCode Top 100 Liked Questions in Golang(updating...)

    leetcode go语言版本,主要为了熟悉下语言 1. Two Sum 双指针版本, O(NlogN) func twoSum(nums []int, target int) []int { val ...

  10. DTcms iis6 伪静态 iis配置方法 【图解】

    1.右键点击 要设置网站的网站 2.属性 ——>主目录 ——>配置——> 3.如右侧窗口,找到 .aspx 扩展名——>编辑——>复制 可执行文件的路径——>关闭 ...