08: python基础练习题
1、while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和
# 使用while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和
s = 0
i = 2
while i <= 100:
if i % 2 == 0:
s += i
else:
s -= i
i += 1
print(s,i) # 运行结果:51 101
while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和
2、for循环实现9乘9乘法表
for i in range(1,10,1):
for j in range(1,i+1,1):
# \t 代表的是制表符 end="" 表示打印对象以什么结尾 ,默认是 \n 也就是换行
print('%dx%d=%d'%(i,j,i*j),end='\t')
print("\n") # 运行结果:
# 1x1=1
# 2x1=2 2x2=4
# 3x1=3 3x2=6 3x3=9
# 4x1=4 4x2=8 4x3=12 4x4=16
# 5x1=5 5x2=10 5x3=15 5x4=20 5x5=25
# 6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36
# 7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49
# 8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64
# 9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81
for循环实现9乘9乘法表
3、台阶问题/斐波纳挈
问题:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法
fib = lambda n: n if n <= 2 else fib(n - 1) + fib(n - 2)
print(fib(4)) #
台阶问题/斐波纳挈
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import sys
sys.setrecursionlimit(1000000000) #设置系统最大递归深度 def fib(n):
if n <= 2:
return n
else:
return fib(n-1) + fib(n-2)
print(fib(4)) #
二级台阶(函数递归)
4、变态台阶问题
问题:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法
fib = lambda n: n if n < 2 else 2 * fib(n - 1)
print(fib(4)) #
变态台阶问题
5、List = [-2, 1, 3, -6],如何实现以绝对值大小从小到大将 List 中内容排序
l = [-2, 1, 3, -6]
print(sorted(l,key=abs)) # [1, -2, 3, -6]
答案
6、列表的sort方法和 sorted的区别是什么?
1) sort 是list的方法,改变list对象的顺序,返回值为None
2) sorted是Python的内置方法,适用iterable对象,返回值是新列表,不影响原来的iterable的顺序
7、请写出一段Python代码实现删除一个list里面的重复元素
#1、set去重
a=[1,2,3,4,1,2,3,4]
print( list(set(a)) ) # [1, 2, 3, 4] #2、使用字典去重
b = {}
b=b.fromkeys(a)
c=list(b.keys())
print(b) # {1: None, 2: None, 3: None, 4: None}
print(c) # [1, 2, 3, 4]
列表去重
8、求 A^n 不要使用现有模块
#! /usr/bin/env python
# -*- coding: utf-8 -*-
class Solution(object):
def __init__(self, A):
self.A = A def run(self, n):
if n == 0:
Y = 1
elif n > 0:
Y = self.positive(n)
else:
ret = self.positive(-n)
Y = float(1) / float( ret )
return Y def positive(self, n):
ret = 1
for i in range(n):
ret = self.A * ret
return ret s = Solution(2)
print s.run(10) #
print s.run(-3) # 0.125
print s.run(0) #
求A^n
08: python基础练习题的更多相关文章
- python基础练习题1
深深感知python基础是有多么重要,Ljh说一定要多练题,so,我现在开始要每天打卡练习python.加油! 01:求‘1-100’的偶数和 #第一种解法: sum=0 num=0 while nu ...
- python基础练习题08
写一个登录程序,让用户输入账号和密码,输入用户和密码输入正确的话,提示你 xxx,欢迎登录,今天的日期是xxx,程序结束.错误的话,提示账号/密码输入错误, 最多输入3次,如果输入3次都没有登录成功, ...
- python基础练习题(九九乘法表)
又把python捡起来了,动手能力偏弱,决定每日一练,把基础打好! ------------------------------------------------------------------ ...
- python基础练习题
购物车程序 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/3/6 21:01 # @Author : hyang # @Si ...
- Python基础练习题100例(Python 3.x)
1:题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 程序源 ...
- python基础练习题2
01:python九九乘法表 for i in range(1,10): for j in range(1,i+1): print('{}*{}={}'.format(j,i,i*j),end='\t ...
- Python基础 练习题
DAY .1 1.使用while循环输出 1 2 3 4 5 6 8 9 10 n = 1 while n < 11: if n == 7: pass else: print(n) n ...
- python基础练习题30道
1.执行python脚本的两种方式 答:1>可以在python /home/xxxx.py 2>cd /home ./xxxx.py 因为py脚本里面指定了python解释器的位置 ...
- 『Python基础练习题』day02
1.判断下列逻辑语句的True, False 1) 1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 2) ...
随机推荐
- 推荐系统之余弦相似度的Spark实现
推荐系统之余弦相似度的Spark实现 (1)原理分析 余弦相似度度量是相似度度量中最常用的度量关系,从程序分析中, 第一步是数据的输入, 其次是使用相似性度量公式 最后是对不同用户的递归计算. ...
- 计蒜客 31460 - Ryuji doesn't want to study - [线段树][2018ICPC徐州网络预赛H题]
题目链接:https://nanti.jisuanke.com/t/31460 Ryuji is not a good student, and he doesn't want to study. B ...
- strut2的标签
DIY部落 新闻中心 交流论坛 千寻搜索 点击浏览该栏目下的更多电子书 收藏本站 struts2标签详解 文章整理: www.diybl.com 文章来源: 网络 去论坛 建我的b ...
- 2018/03/16 每日一个Linux命令 之 rm
最痛快的指令,没有之一. 一次永久删除,恢复很麻烦. 我会告诉你我第一次上服务器的时候删除了项目代码?(还好我提前备份了一下) -- rm [-参数][文件或者文件夹/支持正则通配] 参数: -i 删 ...
- 洛谷P4424 寻宝游戏 [HNOI/AHOI2018]
正解:思维题 解题报告: 传送门! 这题就是很思维题,,,想到辣实现麻油特别难,但难想到是真的TT 这题主要是要发现一个性质:&1无意义,&0相当于赋值为0,|1无意义,|1相当于赋值 ...
- for练习相关
for嵌套: 大圈套小圈思想:有一种重复的情况而这种情况每一次对应另外情况多次. ------------------------------------------------------- 例如: ...
- jpress-配合nginx与tomcat安装
目录 1. 前言 2. yum安装tomcat 2. yum安装MySQL 3. 下载JPress并安装 4. 配置tomcat使其可以部署多个网站 5. 安装nginx并配置 6. 将已经安装好的j ...
- 【java】System.out重定向到文件,并重定向会console上
重定向到文件: System.setOut(new PrintStream(new File("data\\train.1.scale"))); 重定向回console: //把输 ...
- [LeetCode] 53. Maximum Subarray_Easy tag: Dynamic Programming
Given an integer array nums, find the contiguous subarray (containing at least one number) which has ...
- 渗透msf工具中andorid被控端的实现
msf中andoird端的实现代码一共只有8k 核心代码就是下载者. 下载dex,动态执行dex.