精华内容
下载资源
问答
  • 、简单版(只实现这两需求) ...#len函数可以查看字符串的长度,也就是能得出这是一个几位数,用str转换成字符串之后才能跟前后文字拼接 print('我把它倒过来给你看看:',''.join(list(reversed(nu...

    一、简单版(只实现这两个需求)

    num=input('你好呀,请输入一个不多于五位的正整数>>>')
    print('嗯,我看过了,这是一个'+str(len(num))+'位数。')
    #len函数可以查看字符串的长度,也就是能得出这是一个几位数,用str转换成字符串之后才能跟前后文字拼接
    print('我把它倒过来给你看看:',''.join(list(reversed(num))))
    #reversed函数把原数字反转过来,返回的结果是迭代器
    #用list函数把迭代器变成列表
    #用join方法连接list里的所有元素,得到列表,用于连接的字符是什么也没有,所以就会无缝拼接

    但是有一些数字翻转过来跟原来是一样的,比如8,88,858,8558,85658,所以下面的升级版会把这些无聊的翻转考虑进去,让程序更智能一点,更,em,可爱一点……

    二、升级版

    num=input('你好呀!请输入一个不多于五位的正整数:')
    print('嗯,我看过了。它是一个'+str(len(num))+'位数。')
    if (len(num)==1) or (len(num)<=3 and num[0]==num[-1]) or (num[0]==num[-1] and num[1]==num[-2]):
    #这里提出了三种懒得反转的情况,分别是只有一位数,比如8
    #两位或者三位数,第一个数字和最后一个数字相同,比如88,858
    #四位或者五位数,第一个数字和最后一个数字相同,第二个数字和倒数第二个数字相同,比如8558,85658
    
        print('我本来想把它倒过来给你看看,但是它倒着写不好玩儿,算了吧~')
    else:
        print('我把它倒过来了,现在它变成了',''.join(list(reversed(num)))) 

    三、自己造轮子(关注算法的请看)

    num=input('请输入一个不超过5位的正整数>>>')
    num=int(num)
    #变量res用于存储逆转之后的数字
    res=0
    #变量count用于存储数字位数
    count=0
    #下面是这个算法的核心
    while num !=0:
        #用取余数的方式取出当前的个位数字,
        # 把结果中原来已有的部分乘以10,加上刚取出来的个位数字。
        #这就相当于把原来的部分往前挪了一下,给新来的个位数腾出来一个地方
        res=res*10+num%10
        #用除以10并向下取整的方式把已经处理过的数位去掉
        num=int(num/10)8
        #每处理一次,就给计数器count加1,用这样的方式计算num是几位数
        count+=1
    print('这是一个%s位数,它的逆序数字是%s'%(count,res))

    为了帮助大家更好地理解上述算法的核心,请看下面的图解:

     

     

    如果这篇博文帮到了你,就请给我点个吧(#^.^#)

    有疑问也欢迎留言~博主可nice啦,在线秒回ヾ(◍°∇°◍)ノ゙

    展开全文
  • 一个HTTP趴80%面试者

    万次阅读 多人点赞 2019-03-27 17:35:08
    请不要让我叫你野生程序员,是时候了解HTTP了,让我们当正规军。 起因 面试官:请问你了解HTTP协议吗? 前端开发:这不是应该后端清楚的吗? 后端开发:这不是前端知道的吗? 面试官:…… 我们先一本正经的来了解...

    来自微信公众号:码上实战

    面试一年多,每当我问起面试者对HTTP的了解时,个个回答令我瞠目结舌,这些开发者都有3-5年的经验。请不要让我叫你野生程序员,是时候了解HTTP了,让我们当个正规军。

    起因

    面试官:请问你了解HTTP协议吗?

    前端开发:这不是应该后端清楚的吗?

    后端开发:这不是前端知道的吗?

    面试官:……

    我们先一本正经的来了解下HTTP(不包含传输层TCP),然后总结其中的精华回复面试官。

    HTTP协议简介

    HTTP(超文本传输协议)是应用层上的一种客户端/服务端模型的通信协议,它由请求和响应构成,且是无状态的。(暂不介绍HTTP2)

    • 协议

    协议规定了通信双方必须遵循的数据传输格式,这样通信双方按照约定的格式才能准确的通信。

    • 无状态
      无状态是指两次连接通信之间是没有任何关系的,每次都是一个新的连接,服务端不会记录前后的请求信息。

    • 客户端/服务端模型
      在这里插入图片描述
      五层网络模型

    在这里插入图片描述

    URL构成

    用了这么久,你注意过吗?
    在这里插入图片描述
    协议内容

    请求(Request)

    客户端发送一个HTTP请求到服务端的格式:

    • 请求行

    • 请求头

    • 请求体
      在这里插入图片描述
      响应(Response)

    服务端响应客户端格式:

    • 状态行

    • 响应头

    • 响应体
      在这里插入图片描述
      状态码

    HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:
    在这里插入图片描述
    更详细的状态码可查看 HTTP状态码

    但一般我们只需要知道几个常见的就行,比如 200,400,401,403,404,500,502.

    请求方法

    截止到HTTP1.1共有下面几种方法:
    在这里插入图片描述
    请求和响应常见通用头

    在这里插入图片描述

    注意

    Content-Type,内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件。

    常见的媒体格式类型如下:
    在这里插入图片描述
    以application开头的媒体格式类型:
    在这里插入图片描述
    常见请求头

    在这里插入图片描述
    常见响应头

    在这里插入图片描述
    总结

    清楚的知道这些内容,不仅仅是为了应对面试官,而是能实实在在的提高自己的效率,这一点在前后端联调接口最明显,当你在应用中去请求其他接口或转发请求时这些也是要知道的。不然出现问题的概率会大大提高。

    展开全文
  • Java把个大的文本文件拆分成几个小的文件  、背景  本地调用线上服务运行了个程序,运行完成后,日志文件644MB,由于日志中没有统计数据的代码,所以想用日志文件统计个运行的结果。但是发现:用Notepad...

                                                             Java把一个大的文本文件拆分成几个小的文件

     一、背景

             本地调用线上服务运行了一个程序,运行完成后,日志文件644MB,由于日志中没有统计数据的代码,所以想用日志文件统计一个运行的结果。但是发现:用Notepad++打不开日志文件,原因是文件太大。所以才想到用程序实现

            拆分的粒度:每个拆分后的小文件在100MB左右。

    二、java代码

           1. 由于不知道日志文件有多少行,所以先运行一下代码,得到日志文件的行数        

    import java.io.*;
    
    /**
     * Created by on 2017/12/8.
     */
    public class BeforeBreakFile {
    
        public static void main(String args[]) {
            try {
                FileReader read = new FileReader("D:/text.log");
                BufferedReader br = new BufferedReader(read);
                String row;
    
                int rownum = 1;
                while ((row = br.readLine()) != null) {
                    rownum ++;
                }
                System.out.println("rownum="+rownum);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    
    得到日志的行数是:

        

    2.得到的总行数是3249276,除以7得到大约464183

       

    import java.io.*;
    
    /**
     * Created by  on 2017/12/8.
     */
    public class BreakFile {
    
        public static void main(String args[]) {
            try {
                FileReader read = new FileReader("D:/text.log");
                BufferedReader br = new BufferedReader(read);
                String row;
    
                int rownum = 1;
    
                int fileNo = 1;
                FileWriter fw = new FileWriter("D:/text"+fileNo +".txt");
                while ((row = br.readLine()) != null) {
                    rownum ++;
                    fw.append(row + "\r\n");
    
                    if((rownum / 464183) > (fileNo - 1)){
                        fw.close();
                        fileNo ++ ;
                        fw = new FileWriter("D:/text"+fileNo +".txt");
                    }
                }
                fw.close();
                System.out.println("rownum="+rownum+";fileNo="+fileNo);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    

    运行的结果是:

        

    展开全文
  • 题目:给一个不多于5位的正整数,要求:、求它是位数,二、逆序打印出各位数字。 程序分析:学会分解出每位数。 def theNumberOfNum(self, num): numTemp = int(num) num = int(num) tempList = [] ...

    题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

    程序分析:学会分解出每一位数。

        def theNumberOfNum(self, num):
            numTemp = int(num)
            num = int(num)
            tempList = []
            while num > 9:
                tempList.append(int(num % 10))
                num = int(num / 10)
            tempList.append(num)
            print("%d是%d位数!" % (numTemp, len(tempList)))
            print("逆序打印结果为:%s" % tempList)

    执行:code.theNumberOfNum(34521)

    结果:

    34521是5位数!
    逆序打印结果为:[1, 2, 5, 4, 3]

    方法二:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    x = int(raw_input("请输入一个数:\n"))
    a = x / 10000
    b = x % 10000 / 1000
    c = x % 1000 / 100
    d = x % 100 / 10
    e = x % 10
    
    if a != 0:
        print "5 位数:",e,d,c,b,a
    elif b != 0:
        print "4 位数:",e,d,c,b,
    elif c != 0:
        print "3 位数:",e,d,c
    elif d != 0:
        print "2 位数:",e,d
    else:
        print "1 位数:",e 

    请输入一个数:
    3472
    4 位数: 2 7 4 3


    展开全文
  • 个华为人辞职创业后的几个反思

    万次阅读 热门讨论 2013-02-03 08:03:13
    作者是个在华为工作6年的华为人,2年前,抱着做大事业的愿景,作者与几个朋友离开华为,希望能闯出个路子来创业。原文来自通信人家园论坛:  时隔两年,笔者的创业经历就像是出狗血剧,各种电视剧里的经典...
  • 个指针变量到底占几个字节

    千次阅读 2014-11-19 14:46:33
    指针变量占几个字节? 在内存中,个字节就是个编号,内存中总共有4G(2的32次方)个编号。 int 型变量占 4 个字节,char 型变量占 1 个字节, double 类型变量占 8 个字节。那么不同变量类型的地址占几个...
  • git 几个commit点合并成一个commit点

    万次阅读 多人点赞 2018-09-07 00:32:32
    在用git做版本控制器的时候,经常会遇到以下情况: 1、在做1功能的时候,你自己觉得代码没问题了...到此功能做完,但是做完之后发现,你的一个功能commit了两次,当然根据实际情况有些时候你为了做一个功能,来...
  • 例题:给一个不多于5位的正整数,要求:、求它是位数,二、逆序打印出各位数字。 代码如下: /*程序分析:先分解出每位数,再逐步分解出余下的数*/ #include "stdio.h" main( ) { long a,b,c,d,e,x; printf...
  • 一个不多于5位的正整数,要求:、求它是位数,二、逆序打印出各位数字。 #include &lt;stdio.h&gt; int main() { int i,a,b,c,d,e; scanf("%d",&amp;i); a=i/10000; b=i%10000/1000; ...
  • /*输入一个不多于5位的正整数,要求1:求出它是位数; 要求2:分别打印出每位数; 要求3:按逆序打印出各位数字;*/ #include <stdio.h> #include <math.h> int num_count(int num); void showdata...
  • 1、给出一个不多于5位的正整数,要求: (1) 求出它是位数; (2) 分别打印出每位数字; (3) 按逆序打印出各位数字,例如原数为321,应输出123.
  • /*分解出位*/ if ( a != 0 ){ printf ( "为 5 位数,逆序为: %ld %ld %ld %ld %ld\n" , e , d , c , b , a ); } else if ( b != 0 ) { printf ( "为 4 位数,逆序为: %ld %ld %ld %ld\n" , e , ...
  • 、知道1900年1月1日为星期,求输入的年份月份与1900年1月1日相隔的总天数。闰年366天,平年365天。 通过运算符实现闰年判断的条件: (1)能被4整除且不能被100整除的年份 (2)能被400整除的年份 (3)两...
  • Java比较时间相差几个

    万次阅读 2017-08-25 16:20:02
    Java比较时间相差几个
  • //编一个程序,输入一个整数,判定它为位数。 //例如,99是2位数,-100是3位数
  • 方法1: 插入符号---数学运算符里面的勾 ... ...输入法里面的符号插入勾,然后设置带圈字符 ...其实有很多方法实现,比如输入几个数字再按ALT之类,谁会记住那些数字呢?还是上面的几个比较常用哈http://www.topd
  • 今天做了excel报价单,但是打印预览的时候发现有问题,并不是原来的那种打印在一张纸上,而是分散打印在十张纸上,并且每张纸上只有一个单元格的内容,如下图:   怎么调都没用,到底是怎么回事...
  • 2. 要想知道这月是从星期开始的,就得知道上一个月的最后天是星期,要想知道上一个月的最后天是星期,就得知道上上一个月是星期结束的,以此推类,我们就需要定义一个基准年以及基准年是从星期开始...
  • 习题 3.12 给出一个不多于5位的正整数,要求:1. 求出它是位数;2. 分别打印出每位数字;3. 按逆序打印出各位数字,例如原数位321,应输出123。 代码块: #include &lt;iostream&gt; using namespace ...
  • IDEA中如何将一个JavaWeb项目成war包.

    万次阅读 多人点赞 2019-06-15 15:57:50
    、war包目录结构介绍. 1.Java的打包方式jar、war、ear包的...ear: 企业级应用,实际上EAR包中包含WAR包和几个企业级项目的配置文件而已,一般服务器选择WebSphere等,都会使用EAR包。通常是EJB成ear包。 &n...
  • 有人问数学家一个问题: 树上有十只鸟,开枪只,还剩只? 数学家反问:是无声手枪或别的无声的枪吗? 不是。 枪声有多大? 会震得耳朵疼。 那就是说有80~100分贝? 是。 在这城市里鸟犯不犯法? ...
  • [摘要]高层的住宅层好,这是很多的购房者在买房子的过程中会纠结不已的事情。住高了就觉得眩晕,住低了就觉得太吵闹,高层住宅到底哪些楼层是好呢?高层住宅的楼层选择要考虑到采光、视野等因素。 高层的...
  • C语言判断一个整型数据有位v2.0

    千次阅读 2019-03-08 15:40:44
    从键盘输入一个整型数据(int型),编写程序判断该整数共有位,并输出包含各个数字的个数。例如,从键盘输入整数16644,该整数共有5位,其中有11,26,24。 程序运行结果示例1: Please enter the number: 12226...
  • 我面试过没有万把人,也有十几个吧……也和hr小姐姐经常交流(肯定是学术交流了……)他们在筛简历的时候都是5-10秒个,这速度谁顶得住啊,哦不,这速度能看什么啊…… 所以简历就和写文章一样,标题取得好,就...
  • 输入年月日,判断这天是这一年的第天?(10分) 题目内容: 给定年月日,如2019/1/8,打印输出这天是该年的第天。   输入格式: 共行,为一个字符串,年月日之间以'/'隔开,如2019/1/8。   输出...
  • CSS: nth-child()选择前几个元素

    万次阅读 多人点赞 2018-08-24 11:41:17
    原文链接 前言 渲染列表时,需要设置前3个元素的margin-... 选择前几个元素 /*【负方向范围】选择第1个到第6个 */ :nth-child(-n+6){} 从第几个开始选择 /*【正方向范围】选择从第6个开始的 */ :nth-c...
  • #include void main() { int a;...{ printf("%d是位数\n",a);  printf("%d\n",a); } else if(a0) { printf("%d是两位数\n",a); printf("%d%d\n",a%10,a/10); } else if(a0) { print
  • (1)给出一个整数1235644 打印出来应该为7. c程序应该为: (2)求出逆序数字 例如输入数字123456 而打印出来则是654321 (3)而顺序输出各个数字,逆序的话是先输出再除等。 例如...
  • UTF-8编码占几个字节?

    万次阅读 多人点赞 2016-10-26 18:27:45
    占2字节的:带有附加符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文、叙利亚文及它拿字母则需要...一个utf8数字占1字节 一个utf8英文字母占1字节 少数是汉字每占用3字节,多数占用...
  • 推荐几个看剧的网站

    万次阅读 2018-12-03 13:23:33
    工作之余,看看片,休息一下,想到大家还需要冲会员免广告,看VIP剧,特地将自己常用的几个牛逼视频网站给大家推荐,希望大家喜欢。 温馨提示:追剧虽好,可不要贪多哦。 1、骑士电影:http://www.74zu.com/ (我...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,608,774
精华内容 643,509
关键字:

一打是几个