python-7-类-对象-魔法方法
[TOC]
类-对象-练习题:1、以下类定义中哪些是类属性,哪些是实例属性?
类属性和实例属性区别
类属性:类外面,可以通过实例对象.类属性和类名.类属性进行调用。类里面,通过self.类属性和类名.类属性进行调用。
实例属性 :类外面,可以通过实例对象.实例属性调用。类里面,通过self.实例属性调用。
实例属性就相当于局部变量。出了这个类或者这个类的实例对象,就没有作用了。
类属性就相当于类里面的全局变量,可以和这个类的所有实例对象共享。
2、怎么定义私有⽅法?
在 Python 中定义私有变量只需要在变量名或函数名前加上“__”两个下划线,那么这个函数或变量就会为私有的了
3、尝试执行以下代码,并解释错误原因:
12345class C: def myFun(): print('Hello!') c = C() c.myFun()
4、按照以下要求定义一个游乐园门票的类,并尝试计算2个成人+1个小孩平日票价。
要求:
平日票价100元
周末票价为平日的120%
儿童票半价
123class Ticket(): # your code ...
python-6-函数与Lambda表达式
[TOC]练习题:
怎么给函数编写⽂档?在函数内部的第1行开始,使用三引号作为帮助文档的标记字符
怎么给函数参数和返回值注解?
‘’’ 这里是函数的帮助文档 :param name: 姓名 :param age: 年龄 :param args: 其他 :return: 返回值 ‘’’
闭包中,怎么对数字、字符串、元组等不可变元素更新。
如果要修改闭包作用域中的变量则需要 nonlocal 关键字
分别根据每一行的首元素和尾元素大小对二维列表 a = [[6, 5], [3, 7], [2, 8]] 排序。(利用lambda表达式)
利用python解决汉诺塔问题?
有a、b、c三根柱子,在a柱子上从下往上按照大小顺序摞着64片圆盘,把圆盘从下面开始按大小顺序重新摆放在c柱子上,尝试用函数来模拟解决的过程。(提示:将问题简化为已经成功地将a柱上面的63个盘子移到了b柱)
123456a = [[6, 5], [3, 7], [2, 8]]print(a)a = sorted(a, key=lambda x: x[0], reverse=False)print( ...
python-5-字典-集合-序列
[TOC]
练习题:1、字典基本操作
字典内容如下:
12345dic = { 'python': 95, 'java': 99, 'c': 100 }
用程序解答下面的题目
字典的长度是多少
请修改’java’ 这个key对应的value值为98
删除 c 这个key
增加一个key-value对,key值为 php, value是90
获取所有的key值,存储在列表里
获取所有的value值,存储在列表里
判断 javascript 是否在字典中
获得字典里所有value 的和
获取字典里最大的value
获取字典里最小的value
字典 dic1 = {‘php’: 97}, 将dic1的数据更新到dic中
2、字典中的value
有一个字典,保存的是学生各个编程语言的成绩,内容如下
12345data = { 'python': {'上学期': '90', '下学期': '95'}, 'c++': ['95', '96', '97'], 'java': [{'月考':'90', '期中考试': '94', ...
python-4-列表与元组与字符串
[TOC]
列表-练习题:1、列表操作练习
列表lst 内容如下
lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
请写程序完成下列操作:
在列表的末尾增加元素15
在列表的中间位置插入元素20
将列表[2, 5, 6]合并到lst中
移除列表中索引为3的元素
翻转列表里的所有元素
对列表里的元素进行排序,从小到大一次,从大到小一次
2、修改列表
问题描述:
lst = [1, [4, 6], True]
请将列表里所有数字修改成原来的两倍
3、leetcode 852题 山脉数组的峰顶索引
如果一个数组k符合下面两个属性,则称之为山脉数组
数组的长度大于等于3
存在$i$,$i$ >0 且$i<\operatorname{len}(k)-1$, 使得\mathrm{k}[0]
python-3-异常处理
[TOC]
练习题:1、猜数字游戏
题目描述:
电脑产生一个零到100之间的随机数字,然后让用户来猜,如果用户猜的数字比这个数字大,提示太大,否则提示太小,当用户正好猜中电脑会提示,”恭喜你猜到了这个数是……”。在用户每次猜测之前程序会输出用户是第几次猜测,如果用户输入的根本不是一个数字,程序会告诉用户”输入无效”。
(尝试使用try catch异常处理结构对输入情况进行处理)
获取随机数采用random模块。
12345678910111213141516171819import randomi = 1rl_num = random.randint(1,100)while True:# print("第%s次猜,请输入一个整形数字:", i) s_input = "第"+str(i)+"次猜,请输入一个整形数字:" try: ca_num = input(s_input) ca_num = int(ca_num) if ca_num == rl_num: print('恭喜你猜到了这个数是..... ...
python-2-条件与循环语句
[TOC]
练习题:1、编写一个Python程序来查找那些既可以被7整除又可以被5整除的数字,介于1500和2700之间。
1234for i in range(1500,2700): if i%7==0 and i%5==0: print(i,end=',')
1505,1540,1575,1610,1645,1680,1715,1750,1785,1820,1855,1890,1925,1960,1995,2030,2065,2100,2135,2170,2205,2240,2275,2310,2345,2380,2415,2450,2485,2520,2555,2590,2625,2660,2695,
龟兔赛跑游戏题目描述:
话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔 子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以 上, ...
python-1-变量运算符与数据类型
变量、运算符与数据类型1. 注释
在 Python 中,# 表示注释,作用于整行。
【例子】单行注释
1234# 这是一个注释print("Hello world")# Hello world
Hello world
''' ''' 或者 """ """ 表示区间注释,在三引号之间的所有内容被注释
【例子】多行注释
123456789101112131415'''这是多行注释,用三个单引号这是多行注释,用三个单引号这是多行注释,用三个单引号'''print("Hello china") # Hello china"""这是多行注释,用三个双引号这是多行注释,用三个双引号 这是多行注释,用三个双引号"""print("hello china") # hello china
Hello china
hello china
2. 运算符算术运算符
操作符
名称
示例
+
加
1 + 1
-
减
2 - 1
*
乘
3 * 4
/
除
3 / 4
//
整除(地板除)
3 // 4
%
取余
3 % 4
**
幂
2 ** 3
1234567p ...
vasp_batch_bash-使用方法
[TOC]
ase-gui12345# 两种方法 POSCAR 与 cif 互转ase-gui CU.cif -o Cu.poscarase convert Cu.cif Cu.poscar# 快速打开neb中的imagesase-gui 0*/POSCAR
文件批处理123456789101112131415#!/bin/env bashFILENAMELIST=$@for file in $FILENAMELIST do cd $file cp POSCAR old_POSCAR sed -i '$a 6.8920794341203466 8.2498237913018961 10.6854462174986473' POSCAR # POSCAR 最后一行后添加新行‘6.8920794341203466 8.2498237913018961 10.6854462174986473’ # sed -i 's/\.$/\!/g' #.结尾的,换成!结尾 ...