num

2018.5.27 OraclePLSQL编程 if-else练习和循环结构练习

三世轮回 提交于 2020-02-28 14:03:58
if-else运用 declare v_num number(8); begin v_num :=&n; if v_num>0 and v_num<100 then dbms_output.put_line('工薪阶级'); elsif v_num between 100 and 200 then dbms_output.put_line('中产阶级'); else dbms_output.put_line('资本家'); end if; end; case运用 declare v_num number(8) :=&n; v_result varchar2(15); begin case when v_num =1 then v_result :='剪刀'; when v_num =2 then v_result :='石头'; when v_num =3 then v_result :='布'; else v_result :='输入的数字无效'; end case; dbms_output.put_line(v_result); end; --案例:1-10输出(loop循环实现) declare i number(8) :=1; begin loop dbms_output.put_line(i); exit when i =10; --改变初始值 i := i+1; end

Python高级编程-----读书笔记

我们两清 提交于 2020-02-28 12:41:08
1. Keep Code Simple Not Data l 减少代码,能减少生成的代码,因此能减少执行时间 2. 使用List Comprehensions构造List,快12倍 List Comprehension性能测试 使用List Comprehension使语法简洁,生成代码减少,执行显著加快 1 [i for i in range(10000000) if i % 2 == 0] 测试结果 6 function calls in 2.494 seconds Ordered by: standard name ncalls tottime percall cumtime percall filename:lineno(function) 1 0.000 0.000 2.491 2.491 :0(exec) 1 0.003 0.003 0.003 0.003 :0(setprofile) 1 0.000 0.000 2.491 2.491 <string>:1(<module>) 1 0.124 0.124 2.491 2.491 logtest.py:1(test1) 1 2.367 2.367 2.367 2.367 logtest.py:2(<listcomp>) 0 0.000 0.000 profile:0(profiler) 1 0.000 0.000 2

Java 位运算(转)

北城以北 提交于 2020-02-28 11:44:37
位移动运算符: <<表示左移, 左移一位表示原来的值乘2. 例如:3 <<2(3为int型) 1)把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011, 2)把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位, 3)在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100, 转换为十进制是12。 同理,>>表示右移. 右移一位表示除2. 位运算: 位运算符包括: 与(&)、非(~)、或(|)、异或(^)   &:当两边操作数的位同时为1时,结果为1,否则为0。如1100&1010=1000    | :当两边操作数的位有一边为1时,结果为1,否则为0。如1100|1010=1110    ~:0变1,1变0    ^:两边的位不同时,结果为1,否则为0.如1100^1010=0110 位运算与位移动运行符的一个场景: HashMap的功能是通过“键(key)”能够快速的找到“值”。下面我们分析下HashMap存数据的基本流程: 1、 当调用put(key,value)时,首先获取key的hashcode,int hash = key.hashCode(); 2、 再把hash通过一下运算得到一个int h. hash ^= (hash >>> 20) ^

Python学习-函数,函数参数,作用域

坚强是说给别人听的谎言 提交于 2020-02-28 10:23:16
一、函数介绍 函数定义:函数时组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 我们已经知道python提供了许多内建函数,print(), type()等。我们也可以自己创建函数,这被叫做用户自定的函数。 定义一个函数 定义是遵守的简单的规则: 以 def 关键字开头,后接函数标识符名称和圆括号(),然后以冒号 : 结尾(第一行也叫函数头) 圆括号中放入参数名(形参),如果没有,可以留空 函数头的下一行,缩进4个空格,开始写函数体 函数体中可以有 return [表达式] 语句,返回一个值给调用者,如果没有return语句,默认返回 None 一个自定义函数实例: # 打印两次传入的变量的值 # 此函数没有return语句,返回None给调用者 def print_twice(name): #函数头 形参:name print('你好', name) #函数体 print('你好', name) 定义一个函数会创建一个函数对象(function object),其类型是funtion: print(print_twice) print(type(print_twice)) #输出结果: <function print_twice at 0x10217df28> <class 'function'> 函数调用: 调用方式,函数名(),如果函数有参数,将实际参数(实参

Python(线程进程2)

纵饮孤独 提交于 2020-02-28 07:13:22
新进程的创建都是由一个已经存在的进程执行了一个用于创建进程的系统调用而创建的:   1. 在UNIX中该系统调用是:fork,fork会创建一个与父进程一模一样的副本,二者有相同的存储映像、同样的环境字符串和同样的打开文件(在shell解释器进程中,执行一个命令就会创建一个子进程)   2. 在windows中该系统调用是:CreateProcess,CreateProcess既处理进程的创建,也负责把正确的程序装入新进程。 关于创建的子进程,UNIX和windows   1.相同的是:进程创建后,父进程和子进程有各自不同的地址空间(多道技术要求物理层面实现进程之间内存的隔离),任何一个进程的在其地址空间中的修改都不会影响到另外一个进程。   2.不同的是:在UNIX中,子进程的初始地址空间是父进程的一个副本,提示:子进程和父进程是可以有只读的共享内存区的。但是对于windows系统来说,从一开始父进程与子进程的地址空间就是不同的。 二 threading模块 ''' 进程包括多个线程,线程之间切换的开销远小于进程之间切换的开销 线程一定是寄托于进程而存在的 进程:最小的资源管理单元 线程:最小的执行单元 python锁的机制,一个进程一把锁,一个进程一个时间只能取出一个线程,所以无法实现真正的进程中的线程并行 I/O密集型任务 计算密集型任务 ''' 2.1 线程对象的创建 2

leetcode之两数之和

不问归期 提交于 2020-02-28 06:02:51
废弃很久的博客,终于从灰尘中捡起来了。摸鱼近一年,最终研果真没希望考上了。还是老老实实挨社会的毒打吧。leetcode刷题好平台,先用它来熟悉很久未上手的算法吧! 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 题解 求和是二元的,两个循环刚好对应二元未知。直接暴力? 当然不可能,只用一个循环找数num,另一个数用target - num表示。 每遍历一个数,就把数num和数num的索引号ind放入一个字典dic中。 每次遍历时,都看看字典dic中是否有target-num这个数,如果有,那么就找到了x + y = target这个公式了。 class Solution : def twoSum ( self , nums : List [ int ] , target : int ) - > List [ int ] : dic = { } for ind , num in enumerate ( nums ) : tmp = target -

LINQ 的使用

我们两清 提交于 2020-02-28 06:02:37
【转】链接:cnblogs.com/liqingwen/p/5832322.html LINQ 简介 语言集成查询 (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 版中引入的一项创新功能。 传统上,针对数据的查询都是以简单的字符串表示,而没有编译时类型检查或 IntelliSense 支持。此外,您还必须针对以下各种数据源学习一种不同的查询语言:SQL 数据库、XML 文档、各种 Web 服务等等。 通过LINQ, 您可以使用语言关键字和熟悉的运算符针对强类型化对象集合编写查询。 在 Visual Studio 中,可以为以下数据源编写 LINQ 查询:SQL Server 数据库、XML 文档、ADO.NET 数据集,以及支持 IEnumerable 或泛型 IEnumerable<T> 接口的任意对象集合。 使用要求:项目 ≥ .NET Framework 3.5 。 一、介绍 LINQ 查询 查询是一种从数据源检索数据的表达式。随着时间的推移,人们已经为各种数据源开发了不同的语言;例如,用于关系数据库的 SQL 和用于 XML 的 XQuery。因此,开发人员不得不针对他们必须支持的每种数据源或数据格式而学习新的查询语言。 LINQ 通过提供一种跨数据源和数据格式使用数据的一致模型,简化了这一情况。在 LINQ 查询中

Vue_组件化

[亡魂溺海] 提交于 2020-02-28 05:50:43
我们通过Vue的component方法来定义一个全局组件。 <div id="app"> <!--使用定义好的全局组件--> <counter></counter> </div> <script src="./node_modules/vue/dist/vue.js"></script> <script type="text/javascript"> // 定义全局组件,两个参数:1,组件名称。2,组件参数 Vue.component("counter",{ template:'<button v-on:click="count++">你点了我 {{ count }} 次,我记住了.</button>', data(){ return { count:0 } } }) var app = new Vue({ el:"#app" }) </script> 组件其实也是一个Vue实例,因此它在定义时也会接收:data、methods、生命周期函数等 不同的是组件不会与页面的元素绑定,否则就无法复用了,因此没有el属性。 但是组件渲染需要html模板,所以增加了template属性,值就是HTML模板 全局组件定义完毕,任何vue实例都可以直接在HTML中通过组件名称来使用组件了。 data必须是一个函数,不再是一个对象。 效果: 2.组件的复用 定义好的组件,可以任意复用多次:

10次猜数字小游戏

青春壹個敷衍的年華 提交于 2020-02-28 05:25:05
#商品价格num = 98#循环等待用户输入i = 0while i<10: #请输入您猜的价格 user = int(input('请猜一猜当前的数字:')) #根据用户输入提示 if user > num: print('你猜的数字太大了~') elif user < num: print('你猜的数字太小了~') else: print('恭喜您,答对了,可以把商品带回家!') #终止循环 break #次数+1操作 i += 1#循环也有一个else分支else: print('对不起,竞猜次数已经用完了!') 来源: https://www.cnblogs.com/tanqingboke/p/11309654.html

2016-2017 ACM Central Region of Russia Quarterfinal Programming Contest

≡放荡痞女 提交于 2020-02-28 05:23:58
2016-2017 ACM Central Region of Russia Quarterfinal Programming Contest A. Fried Fish 题意:有N条鱼,有一个同时可以煎k条鱼的锅,鱼两个面都要煎; 分析:k*2个面要煎,是否有一种方式可以让锅没有空闲,当时我举了几个例子,确实可以找到,没有证明,注意n<k的情况 #include <iostream> #include <cstdio> #include <cstring> using namespace std; int main() { freopen("INPUT.TXT","r",stdin); freopen("OUTPUT.TXT","w",stdout); int x,y; while(scanf("%d%d",&x,&y)!= EOF) { if(2*x<=y) printf("2\n"); else { if((2*x)%y==0) printf("%d\n",(2*x)/y); else printf("%d\n",(2*x)/y+1); } } return 0; } B. Hanoi tower 题意:用给出的汉诺塔算法,求出第一次相同时的步数; 分析: 网上有一个公式:先求出n层从A到B的步数:d(n)=d(n-1)*2+1 然后:ans(n)= d(n/3*2-1)+d