首页 文章 精选 留言 我的

精选列表

搜索[socket编程],共10000篇文章
优秀的个人博客,低调大师

(编程)10个Python练手小程序

【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: for i in range(1,5): for j in range(1,5): for k in range(1,5): if( i != k ) and (i != j) and (j != k): print (i,j,k) 阿里云代金券2000元免费领取地址:https://promotion.aliyun.com/ntms/yunparter/invite.html新老阿里云账户均可领取!可用于购买阿里云服务器ECS、云数据库RDS、虚拟主机、安骑士、DDoS高防IP等100多云计算产品。 代金券自领取之日起,有效期是30天,请及时使用,过30天后还可以重新领取。 【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2.程序源代码: bonus1 = 100000 0.1bonus2 = bonus1 + 100000 0.500075bonus4 = bonus2 + 200000 0.5bonus6 = bonus4 + 200000 0.3bonus10 = bonus6 + 400000 * 0.15 i = int(raw_input('input gain:n'))if i <= 100000: bonus = i * 0.1 elif i <= 200000: bonus = bonus1 + (i - 100000) * 0.075 elif i <= 400000: bonus = bonus2 + (i - 200000) * 0.05 elif i <= 600000: bonus = bonus4 + (i - 400000) * 0.03 elif i <= 1000000: bonus = bonus6 + (i - 600000) * 0.015 else: bonus = bonus10 + (i - 1000000) * 0.01 print 'bonus = ',bonus 【程序3】 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后 的结果满足如下条件,即是结果。请看具体分析: 2.程序源代码: include "math.h"main(){long int i,x,y,z;for (i=1;i<100000;i++) { x=sqrt(i+100); /x为加上100后开方后的结果/ y=sqrt(i+268); /y为再加上168后开方后的结果/ if(xx==i+100&&yy==i+268)/如果一个数的平方根的平方等于该数,这说明此数是完全平方数/ printf("n%ldn",i); }} '''import mathfor i in range(10000): #转化为整型值x = int(math.sqrt(i + 100))y = int(math.sqrt(i + 268))if(x x == i + 100) and (y y == i + 268): print i 题目:输入某年某月某日,判断这一天是这一年的第几天? 1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊 情况,闰年且输入月份大于3时需考虑多加一天。 2.程序源代码: year = int(raw_input('year:n'))month = int(raw_input('month:n'))day = int(raw_input('day:n')) months = (0,31,59,90,120,151,181,212,243,273,304,334)if 0 <= month <= 12: sum = months[month - 1] else: print 'data error' sum += dayleap = 0if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)): leap = 1 if (leap == 1) and (month > 2): sum += 1 print 'it is the %dth day.' % sum 【程序5】 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换, 然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。 2.程序源代码: l = []for i in range(3): x = int(raw_input('integer:n'))l.append(x) l.sort()print l 【程序6】 题目:用号输出字母C的图案。 1.程序分析:可先用’’号在纸上写出字母C,再分行输出。 2.程序源代码: print 'Hello Python world!n'print '' 10for i in range(5): print ' ' print '' 10print 'n' 6 【程序7】 题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful! 1.程序分析:字符共有256个。不同字符,图形不一样。 2.程序源代码: a = 176b = 219print chr(b),chr(a),chr(a),chr(a),chr(b)print chr(a),chr(b),chr(a),chr(b),chr(a)print chr(a),chr(a),chr(b),chr(a),chr(a)print chr(a),chr(b),chr(a),chr(b),chr(a)print chr(b),chr(a),chr(a),chr(a),chr(b) 【程序8】 题目:输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。 2.程序源代码: include "stdio.h"main(){ int i,j,result; printf("n"); for (i=1;i<10;i++) { for(j=1;j<10;j++) { result=ij; printf("%d%d=%-3d",i,j,result);/-3d表示左对齐,占3位/ } printf("n");/每一行后换行/ }}for i in range(1,10): for j in range(1,10): result = i * j print '%d * %d = % -3d' % (i,j,result) print '' 【程序9】 题目:要求输出国际象棋棋盘。 1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。 2.程序源代码: include "stdio.h"main(){int i,j;for(i=0;i<8;i++) { for(j=0;j<8;j++) if((i+j)%2==0) printf("%c%c",219,219); else printf(" "); printf("n"); }}import sysfor i in range(8): for j in range(8): if(i + j) % 2 == 0: sys.stdout.write(chr(219)) sys.stdout.write(chr(219)) else: sys.stdout.write(' ') print '' 【程序10】 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。 2.程序源代码: import syssys.stdout.write(chr(1))sys.stdout.write(chr(1))print '' for i in range(1,11): for j in range(1,i): sys.stdout.write(chr(219)) sys.stdout.write(chr(219)) print ''

优秀的个人博客,低调大师

OCaml 4.10.0 发布,函数式编程语言

OCaml 4.10.0 发布了。OCaml 是一种快速、简洁、而强大的应用程序开发语言,开发工具包含交互式顶层解释器,字节码编译器以及最优本地代码编译器。Ocaml 有一个巨大标准库,使得可以像Python或者 Perl 语言一样可以方便地开发各种应用程序。 更新内容如下: 新的最适合主堆的分配器 OCaml 多核的初步运行时工作 现在在配置时强制执行不可变的字符串 用户定义的索引运算符,用于多维数组 即将推出:statmemprof,一个新的统计内存分析器 手册的各种改进 GADT 更精确的穷举性检查 许多错误修复 更新说明:https://github.com/ocaml/ocaml/releases/tag/4.10.0

优秀的个人博客,低调大师

静态类型编程语言

以下由中文社区翻译,能力有限,如有翻译错误,欢迎加入 QQ 群指正! Nim 团队很高兴为大家带来 1.0.4 版本发布的消息, 这是我们在 Nim 1.0.0 之后发布的第二个补丁版本。 想要了解更多关于 1.0.0 版本的细节,可以查看我们两个月前 版本发布说明。 距离前一个版本的发布尽管只是过去了一个月的时间, 但这次的版本已经包含了超过 70 次新的提交, 新修复了 20 个问题, 让我们的 1.0 版本变成了更好的样子。 安装 1.0.4 如果你已经用 choosenim 安装了之前版本的 Nim , 升级到 Nim 的 1.0.4 版本会非常简单: $ choosenim update stable 如果你还没有安装 choosenim , 你可以通过 这些说明 来下载和安装 choosenim, 当然你也可以按照我们的 安装 页面直接安装。 更新日志 你可以 在我们的 GitHub 仓库中 查阅此版本的变更日志以及 Nim 的其余源码。 附《更新日志》 语言层面的变更 模仿早期版本的 Nim ,在运行时取消了对无符号整数转换的检查。 文档中已针对这一改进做出了说明。查看 https://github.com/nim-lang/RFCs/issues/175 了解更多细节 (#12688) 添加了 or detectOs(Manjaro),这样当检测到系统为 Manjaro 时,调用原生的包管理器会使用 pacman 进行包管理 (#12587) --os:ios 编译指令现在也代表了 macosx (#12585) 导出了 nim.cfg 解析器,现在其他工具也可以调用 readConfigFile 了 (#12602) BUG 修复 修复了 “在 OSX 上多次调用后,gorgeEx() 失败”的问题 (#12337) 优化和加强了 posix 模块 (#10723) 修复了 “Nim 的语法检查 允许使用 gorgeEx(),但不允许 writeFile()” 的问题,现在这两个都被提示 don’t run staticExec for ‘nim suggest 了 (#12491) 修复了 “一个算数的低级错误: -3 mod 7 == 3” (#12514) 修复了 “后端集成文档中 c2nim 链接失效” 的问题(#12537) 修复了 “‎具有默认值的泛型参数会导致不正确的泛型类型解析‎” 的问题 (#12528) 修复了 “再次出现的问题: compiler/vmgen.nim(354, 20) false leaking temporary 10 slotTempInt [AssertionError] (#12547) 修复了 “Windows 上的 64 位(只有在 64 位上有问题) nim 编译/链接断开” (#12536) 修复了 “除了最新的 devel 版本No =destroy for elements of closure environments other than for latest devel –gc:destructors” (#12577) 修复了 “[1.0.0] 无法使用 –cpu:avr 进行编译” (#12395) 修复了 “使用无效的对象变体会导致编译器崩溃” (#12379) 修复了 “import 之前写的编译指示会被静默忽略” (#5050) 修复了 “ strformat + asyncdispatch + const 同时使用会报错” 的问题 (#12612) 修复了 “--nimblePath 是附加的,需要一个无痛的解决方案” (#12601) 修复了 “nim.cfg 中 –define:FOO:VAL 的语法没有文档或者缺失” (#12367) 修复了 “使用宏生成的 vm 字符串无法正常使用” (#12670) 修复了 “staticRead() 引入的静态文件变更时,会强制触发重新编译。” (#12663) 修复了终止处理程序中调用 throw 引发的崩溃 (#12572) 修复了用于 具有字符串字段的对象 的 newLit (#12542) 文档更新 给 Math 模块添加了文档 (#12460) 修复了许多无效的链接,尽量将链接替换为了链接到文档内部 (#12463) sequtils:在示例中替换掉了已经遗弃的 ‘random’ 用法 (#12515) 给整型添加了文档 (#12513) 修复了代码风格的错误 (#12545) 修正文档和注释中的几个错误 (#12553) 添加文档以更好地区分 getProjectPath, getCurrentDir 和 currentSourcePath (#12565) doc/tut3.rst: 修复了介绍中的错别字 (#12607) 添加了指向 packaging 和 distro 页面的链接 (#12603) 修复了 $*(dt: DateTime) 的说明 (#12660) 在 manual.rst 中对 experimental / parallel 加入了示例以明确区别 (#12472) 修复手册中错误的章节层级关系 (#12724)

优秀的个人博客,低调大师

OCaml 4.09.0 发布,函数式编程语言

OCaml 是一种快速、简洁、而强大的应用程序开发语言,开发工具包含交互式顶层解释器,字节码编译器以及最优本地代码编译器。Ocaml 有一个巨大标准库,使得可以像Python或者 Perl 语言一样可以方便地开发各种应用程序。4.09.0版本亮点如下: 新的优化,特别是匹配中的affine functions(仿射函数),如下: type t = A | B | C let affine = function | A -> 4 | B -> 3 | C -> 2 graphics库已从编译器发行版中删除 vmthread库被删除 取消对编译器插件的支持 还有许多修复 完整列表见更改日志: http://caml.inria.fr/pub/distrib/ocaml-4.09/notes/Changes

优秀的个人博客,低调大师

Vala 0.46 发布,跨平台编程语言

自 Vala 0.44以来的主要更新如下: 1、依赖 GLib 2.48 以上版本 2、增加目标依赖库选项 AUTO --target-glib=auto 3、异常类(error-domains)支持支持静态方法 4、Bug修复 5、各种库更新 推荐您尝试使用 Vala 的十大理由: 1、语法兼容C#和Java,表达能力强,生产力高。 语法干净、简洁、表达能力强,没有让人晕菜的 ->/&/:,点号(.)搞定一切; 2、内存所有权和使用引用计数管理,内存使用安全无烦恼。 3、支持接口:支持抽象接口,也支持接口实现 接口实现类似于PHP traits 和 JavaScript 的mixin的功能; 4、点分名字空间支持大型应用开发。 5、语言级别的正则表达式支持。 正则表达式给予了我强大的力量,在我的代码中无处不在,越用越熟练。 顺便推荐好工具: https://regex101.com/ 6、有C的速度和良好的互操作性支持 可以生成C头文件和C代码并获得全平台支持,也可以Vala与C混合编译。 7、强大且成熟的类库支持(官方支持约250个库) 基于GLib的强大类库体系,有工业级成熟度的各种库和GUI框架。 默认基于 GObject 的对象系统,也支持构建自己的单根对象体系。 8、有丰富且完善的文档支持(valadoc.org)也有大量开源项目可供参考学习。 9、有多种语言服务器【LSP】实现,支持各种编辑器和IDE; https://gitlab.gnome.org/esodan/gvls https://github.com/benwaffle/vala-language-server 10、Gnome 和 Elementary OS官方钦定语言,并获得IBM公司研究机构采用。 更新说明:https://gitlab.gnome.org/GNOME/vala/raw/master/NEWS

优秀的个人博客,低调大师

并发编程工具之一:CountDownLatch 用法

CountDownLatch 用法CountDownLatch是java.util.concurrent包中一个类,CountDownLatch只要提供的机制是多个(具体数量等于初始化CountDownLatch时count的值)线程都达到了预期状态或者完成了预期工作时触发事件,其他线程可以等待这个事件来触发自己后续的工作。等待的线程可以是多个,即CountDownLatch可以唤醒多个等待的线程。到达自己预期状态的线程会调用CountDownLatch的countDown方法,而等待的线程会调用CountDownLatch的await方法。 每次调用countDown方法时,计数都会减1,直到0为止,此时因调用await方法的阻塞线程被唤醒 代码例子: public static void main(String[] args) throws InterruptedException { CountDownLatch countDown = new CountDownLatch(1); CountDownLatch await = new CountDownLatch(5); // 依次创建并启动处于等待状态的5个MyRunnable线程 for (int i = 0; i < 5; ++i) { new Thread(new MyRunnable(countDown, await)).start(); } System.out.println("用于触发处于等待状态的线程开始工作......"); System.out.println("用于触发处于等待状态的线程工作完成,等待状态线程开始工作......"); countDown.countDown(); await.await(); System.out.println("Bingo!"); } public class MyRunnable implements Runnable { private final CountDownLatch countDown; private final CountDownLatch await; public MyRunnable(CountDownLatch countDown, CountDownLatch await) { this.countDown = countDown; this.await = await; } public void run() { try { countDown.await();//等待主线程执行完毕,获得开始执行信号... System.out.println("处于等待的线程开始自己预期工作......"); await.countDown();//完成预期工作,发出完成信号... } catch (InterruptedException e) { e.printStackTrace(); } } } 运行结果: 用于触发处于等待状态的线程开始工作...... 用于触发处于等待状态的线程工作完成,等待状态线程开始工作...... 处于等待的线程开始自己预期工作...... 处于等待的线程开始自己预期工作...... 处于等待的线程开始自己预期工作...... 处于等待的线程开始自己预期工作...... 处于等待的线程开始自己预期工作...... Bingo!

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册