精华内容
下载资源
问答
  • 案例识别输入的是几,并且逆序打印出所有的数字先上代码~运行效果题目详述程序分析:要实现一个字符串的逆序打印,而且要用到递归函数,我们需要传递最后一位的下标来取值第一行:s = input('随便输入一个整数:...

    Python对于数字的处理能力是很强大的,那么你能让Python瞬间知道输入的是个几位数,并且序打印出所有的数字吗?

    往下看,就是这么简单!

    案例

    识别输入的是几位数,并且逆序打印出所有的数字

    先上代码~

    运行效果

    题目详述

    程序分析:要实现一个字符串的逆序打印,而且要用到递归函数,我们需要传递最后一位的下标来取值

    第一行:

    s = input('随便输入一个整数:')

    创建一个input函数,用来存放输入的整体,作为原始变量s使用,注意这个时候s的格式是字符串

    第二行:

    l = len(s)

    len() 方法返回列表元素个数,如果是字符串的话,返回的是字符串中字符的长度

    第三行:

    print('您输入的是%s位数' % l)

    根据得到的字符长度,我们可以很轻易的知道s是几位数,这里主要给大家讲的是字符串里边关于%s的用法,前边用了一个%s,后边一定要有一个对应的变量,否则就会报错

    第四行:

    for i in range(l-1,-1,-1):

    print(s[i])

    设置一个循环,这里需要注意的首先是l-1,虽然s的长度是l,但是作为下标的话,是从0开始的,所以整个s的下标是从0到l-1,而如果想要逆序输出的话,就需要从后往前一次输出s中的每个数

    进阶:

    轻松的就实现想要的目的

    是不是很便捷呢

    结束语

    总体来说思路只要有了,以后遇到类似的问题就可以解决了,是不是发现原来Python可以这么神奇!

    ———— e n d ————

    展开全文
  • 突然有天,领导甩给你份好页纸,让你在Excel表格里录入,定睛一看,发现要录入的数据都带数字,而且这些数字很多还带有小数位。此时,大家应该都有同感,就是不爱录小数点,因为很费时间。那有没有办法可以...

    突然有一天,领导甩给你一份好几页纸,让你在Excel表格里录入,定睛一看,发现要录入的数据都是带数字,而且这些数字很多还带有小数位。此时,大家应该都有同感,就是不爱录小数点,因为很费时间。那有没有办法可以在单元格里自动插入小数点,这样子可以省去很多麻烦。这就是今天我们要分享的懒人必备的技巧—让Excel单元格自动插入小数点的方法。

    比如:以下表格,空白单元格要录入销售数据。

    0bee74700669963f2d49bd22f8d612be.png

    方法一、直接在工作簿的【选项】功能直接设置。

    具体步骤如下:

    1、点击excel菜单栏的【文件】-【选项】功能;

    0c416eecf7e4cb086f73571267c62e45.png

    2、在弹出的【Excel选项】对话框中,选择左侧的【高级】,在把右侧【编辑选项】里的“自动插入小数点”复选框选中打勾,并设置下数位(如:2位),然后点击【确定】即可。

    e8e4b919ebeb71d68d6fe72d9190bdff.png

    3、这时我们在单元格里输入数值时,就会在保留2位小数的情况下自动插入小数点,即:我们输入的数字的最后两位就会自动变成小数位。比如:在单元格输入“8022”后,就会显示成“80.22”,输入“980”,就会显示成“9.8”,输入“099”,就会显示“0.99”,输入“3590”,就会显示“35.9”,具体看以下动态图:

    45c3a073d75ec05a5c757b4f8bd3678e.gif

    4、这时我们可以看,像输入“980”、“3590”,显示的是“9.8”、“35.9”,如何让这种也显示两位小数位,如显示为:“9.80”、“35.90”,这个就需要我们设置下单元格格式,即选中单元格区域,右键-【设置单元格格式】,在弹出的【设置单元格格式】对话框中,选择【数字】-【数值】,然后右侧的小数位数设置为2位;

    2ae24998cffdfb39cdb45587c294c57f.png

    5、设置好后,点击【确定】,就可以看到最后如下效果:

    f50faf97fe7aafd10d1c4589911254c2.png

    方法二、单元格里的数字要保留2位小数位,我们可以先在单元格里录入实际要显示的数字的100倍(比如:单元格里要显示“80.22”,可以先录入“8022”,),等单元格的数据都录入完后在批量除以100即可。

    具体操作方法如下:

    1、单元格里先批量录入产品的实际销售额的100倍,比如:实际销售额35.81万元,录入单元格数据就得录入3581,录入完后具体如下:

    53c5c622c6ed3e0187446230aa1755c1.png

    2、在任意一个空白单元格,如H2单元格,输入数字100;

    6ab9c1dea1144366d1f7ae8e5b6de4d6.png

    3、选中H2单元格,按快捷键Ctrl+C复制,然后在选择B3:G13单元格区域,右键-【选择性粘贴】;

    be98099a3a0242ac94066e066034afa9.png

    4、在弹出的【选择性粘贴】对话框中,选择运算【除】;

    a5fe7cb857c8ba83894ba6fe2e33f1a3.png

    5、点【确定】后,就可以看到,表格里我们原先输入的数据都除以100了;

    cd0a700b406b24d2ea558eb97ce772e1.png

    6、最后在根据方法一的方法设置下单元格格式,让单元格里小数不足2位的,结尾自动以为补齐,最终得到效果如下

    b30bb232fddaa6e494d0d745bfbb7fc7.png

    以上两种方法,方法一相对方法二比较简单快捷,但方法一的设置是对整个工作簿都有效,所以当工作簿里有其它工作表的单元格不想这么设置的话,那就只能考虑用方法二了。

    展开全文
  • 给出一个整数组 nums,请返回其中位数为偶数的数字的个数。 示例 1: 输入:nums = [12,345,2,6,7896] 输出:2 解释: 12 2 位数字(位数为偶数) 345 3 位数字(位数为奇数)  2 1 位数字(位数为奇数...
  • num=input('你好呀,请输入一个不多于五位的正整数>>>') print('嗯,我过了,这一个'+str(len(num))+'位数。') #len函数可以查看字符串的长度,也就是能得出这一个,用str转换成字符串之后才能...

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

    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啦,在线秒回ヾ(◍°∇°◍)ノ゙

    展开全文
  • 的,会用,会输入一个单词,会输出一个数据,会输出一句话。但是!童鞋,请你输出个数据,默认右对齐,左边用“*”符号填充,数据宽度为10,精度为6。如果不会,请参看上个表情包,然后认真听讲,记笔记。prin.....

    0dad41e9a70644fe02618c0e7fc0b807.png

    printf()这个函数,但凡学习编程的童鞋们,那应该是没有人不知道的,很多童鞋一看,就会想,不就是输出数据吗,这有什么可讲的?

    76d5b397532aaf377cce7621fed885b5.png

    童鞋,你真的了解printf()吗?你真的会用printf()吗?是的,会用,会输入一个单词,会输出一个数据,会输出一句话。但是!童鞋,请你输出几个数据,默认右对齐,左边用“*”符号填充,数据宽度为10,精度为6。

    160904c87578199317e54abdd2808da8.png

    如果不会,请参看上个表情包,然后认真听讲,记笔记。

    printf()函数为格式化输出函数,函数最后一个字符‘f’就表示“格式”(format)的意思,它的功能是按照用户指定的格式将数据输出到屏幕上。下面呢是printf()函数的调用形式。

    printf("格式控制字符串", [输出列表]);

    格式控制字符串用于指定输出格式,它由格式控制串和非格式控制字符串组成。格式控制字符串以符号%开头,后面跟有各种格式控制字符,指定输出数据的类型、形式、长度、精度等,格式控制字符串的具体形式看下面。

    "%[标志][宽度][.精度][长度]类型"

    标志、宽度、精度、长度等都是可选的,但“%类型”是必须要指定的,比如以%c格式输出一个字符,以%d输出一个整数。

    说完格式,下面拆解细讲每一部分。

    第1点 类型

    printf()函数可以输出任意类型的数据,如整型、字符型、浮点型数据等,它常用的输出类型格式控制字符如下表。

    4beca034c5bee58c644c596d5c570b33.png

    使用输出类型格式控制字符可以输出不同类型的数据,示例代码。

        printf("%c", 'H');              //以%c格式输出字符'H'
        printf("%s", "Hello, world!n");//以%s格式输出字符串"Hello, world!"
        printf("%d", 100);              //以%d格式输出整数100

    printf()函数就会按照指定的类型输出后面的参数数据,每一个格式控制字符对应一个参数,如果要连续输出多个数据,就要相应的要使用多个控制字符。

        printf("%d%d%dn", 1, 2, 3);    //使用3个%d输出三个整数1、2、3
        printf("%fn%cn", 2.1, 'a');   //使用%f与%c输出2.1与字符'a'

    第1行输出三个连续整数,1、2、3这三个整数会自动与3个%d从前往后匹配。第2行代码也是如此,浮点数2.1会自动与%f匹配,字符‘a’会自动与%c匹配。

    第2点 标志

    printf()函数中的标志字符用于规范数据的输出格式,如左对齐、右对齐、空缺填补等,标志符有“-”、“+”、“0”、空格、“#”五种。

    660919b45dbc0c9f5f1d9a12eadc225e.png

    第3点 宽度

    用十进制整数来表示输出数据的最少位数,若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。

    以不同的宽度输出数据123,示例代码如下。

        printf("%dn", 123);         //默认宽度
        printf("%5dn", 123);       //设置宽度为5
        printf("%10dn", 123);      //设置宽度为10

    上述代码输出结果如下图。

    7c03d1bea41e97a67b8b6f650d34a0ce.png

    printf()输出数据默认是右对齐,当数据实际位数少于设置的宽度时,左侧以空格填充。我们也可以结合标志位调整对齐方式或者以0填充左侧空缺。

        printf("%dn", 123);
        printf("%-5dn", 123);       //添加“-”符号,左对齐输出
        printf("%010dn", 123);      //添加0,左边以0填充

    上述代码的运行结果如下图。

    eaa230d855758633ce1edfafc7d743ed.png

    添加“-”符号标志位输出数据,第二个123变成了左对齐,添加“0”标志位后,第三个123左侧空缺以0填充了。读者可尝试使用其他标志位输出数据查看输出格式的变化。

    第4点 精度

    精度格式以字符“.”开头,后面跟十进制整数,精度主要作用于浮点型数据,表示输出小数点后面的位数。如果作用于整型数据,则表示按照一定宽度输出数据,左侧空缺填充0。在使用精度输出时,若实际位数大于所定义的精度数,则截去超出的部分。

    精度的使用示例代码如下所示:

        printf("%fn", 1.234567);       //默认输出小数点后6位
        printf("%.8fn", 1.234567);     //输出小数点后8位,后面填充0
        printf("%.3fn", 1.234567);     //输出小数点后3位,截断超出的部分
        printf("%.6dn", 123);          //输出123的宽度为6,左侧填充0

    上述代码的运行结果如下图。

    97785e1200091cd408dfda5989721638.png

    第5点 长度

    长度格式控制字符包括h、l两种,h表示按短数据类型量输出;l表示按长数据类型输出。长度格式控制输出示例代码如下:

        printf("%dn", 123);         //正常输出
        printf("%hdn", 123);       //按短数据类型输出
        printf("%lfn", 1.23);      //按长数据类型输出

    长度格式控制在printf()函数中不常使用,我们能够了解就可以了。

    怎么样,这下还敢说你会用printf()函数吗?但凡我们越觉得简单的事物,越蕴含着万千道理,特别在学习编程时,万不可小看任何一个知识点。关于printf()函数呢,今天我们就讲到这里,如果想进行更深入的学习,请关注黑马程序员参与更多互动。

    展开全文
  • 真实的计算器界面,真正的绿色软件,不需安装,一个文件集全部功能于一身,不占用系统资源。 中文语音提示,键盘与鼠标操作,操作方式与现实生活中普遍使用的计算器完全相同,所以非常容易上手,尤其对经常使用小...
  • 1.求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a一个数字,例如:2+22+222+2222+22222#include<stdio.h>#include<stdlib.h>int main(){ int i = 0;... printf("请输入一个数(个位数...
  • 设准回文数这样一个数,在它上面加上一些前导零(可能没有)就产生了一个回文字符串。 字符串t称为回文,如果它从左到右和从右到左读取相同的内容。 例如,数字131和2010200准...
  • EXCEL默认把位数比较多的数字换成科学计数法显示,但是这样的显示结果让我们不能直观的数字,不能直接区分大小,特别两个数字差距不是很大时,因为长得都一个样。下面就讲一下怎么解决这样的情况,怎么让数字...
  • EXCEL默认把位数比较多的数字换成科学计数法显示,但是这样的显示结果让我们不能直观的数字,不能直接区分大小,特别两个数字差距不是很大时,因为长得都一个样。下面就讲一下怎么解决这样的情况,怎么让数字...
  • PTA_7-2然后是几点问题

    2019-07-13 15:56:56
    读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,即5点30分表示为530。注意,第二个...
  • (1)由计算机“想”一个位数,请人猜这个数是多少。  人输入四位数字后,计算机首先判断这四位数字有猜对了,  并且在对的数字中又有位位置也对的,将结果显示出来,给人以提示,  请人再猜,...
  • c语言实现水仙花

    2020-12-26 16:38:23
    因为水仙花数自幂数的一种,因此直接判断一个数是否为自幂数即可。 原理比较简单: 首先判断输入的i为位数。 每个位的n次幂之和是否等于i; 这里涉及到了求每个位上的数字,以3位数为例:百位,十位,个位。 ...
  • 有时候人们用四位数字表示一个时间,比如 1106 表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。 读入两个数字,第一个数字以这样的四位数字表示当前时间,...
  • 读入两个数字,第一个数字以这样的3~4位数字表示当前时间,第二个数字表示分钟,计算当前时间经过那么多分钟后是几点,结果也表示为3~4位数字(如530,1130)。当小时为个位数时,没有前导的零,即5点30分表示为530...
  • 51nod 1009 数字1的数量

    2018-07-16 19:32:00
    题目大意:输入一个十进制N,计算出从0到N所有里所有1的个数(注:111里有3个1) 【冷静分析】这道题乍一有些棘手(实际也不是水题),我们不妨先找找规律。 ·一位里一共有个1? 答:1。一个。 ·两...
  • 在excel中,相信大部分朋友会经常用到自定义单元格格式,比如设置...如下图所示,我对D10单元格进行自定义单元格设置,输入#元后,可以看到D10单元格后面有一个元字,但是在编辑栏仍然1000,虽然内容包含汉字,...
  • 题目: 输入正整数 a,b,c, 输出a/b 的小数形式,精确到小数点后c位。a,b<=1e6,c<...第感觉控制输出位数,%.%df ,但是printf函数并没有办法识别这格式。但是可以用printf("%.*f",c,(d...
  • -修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的...
  • 1输入十个数,获取他的最大数,并获取个输入的数字 2.输入一个整数,判断是否为闰年(闰年:四年一闰,百年不闰,四百年再闰) 3.输入一个5位数,获取他各个位置的数字 4.输入一个整数,输出它的阶乘(例如5...
  • 网络搜索的(Pascal版、C版、C 版):了一下,根据卡布列克常数的定义,下面的种程序实现包括输入数的各位取出、排序以求最大和最小、求差最后获取该常数。卡布列克常数验证卡布列克运算。任意一个位数,...
  • 1009

    2018-01-27 08:46:46
    题目描述给出一个不多于5位的整数,要求1、求出它是几2、分别输出每一位数字3、按逆序输出各位数字,例如原为321,应输出123输入一个不大于5位的数字输出三行第一行 位数第二行 用空格分开的每个数字,注意最后...
  • printf("你选择了提示信息8,你已经放弃猜这个数.\n"); printf("这个随机数%d",r); printf("@大侠,胜败乃兵家常事,请从头再来\n"); goto begin1; } if(c==9) { printf("强烈推荐你...
  • 你必须知道的495C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    3.15 我要检查一个数是不是在另外两个数之间,为什么if(abc)不行? 3.16 为什么如下的代码不对?inta=1000,b=1000;longintc=a*b; 3.17 为什么下面的代码总是给出0?doubledegC,degF;degC=5.0/9*(degF-32); ...
  • 题目描述: 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。 例如输入12,从1到12这些整数中包含...首先先数字n是几位数,记为len。 第二步取出n最高位的数字,判断该数字和1的关系,计算最高位1出...

空空如也

空空如也

1 2 3 4 5 6
收藏数 101
精华内容 40
关键字:

输入一个数看是几位数