资源简介 (共19张PPT)Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.少儿编程课趣解数字谜题数字与字符串的转换整数 = int( 数字型字符串 )字符串 = str (数字 )a=int('123')s=str(123)数学运算除法: /整除: //求余: %print(31/3)print(31//3)print(31%3)运行结果:10.333333333333334101龙腾数如果数字各个位数之和等于5,称为龙腾数。例如:5,23,104等。打印1000以内所有的龙腾数。龙腾数1000以内的龙腾数有可能是1位数,2位数或者3位数。在不确定位数的情况无论使用整除求余还是字符串选取的方式都无法方便的取出各位数。此时可以将数字转为字符串后,利用循环指令取出字符串的各个字,然后再将字转为数字的方式计算各位数字之和。龙腾数for x in range(1000):n=str(x) #将未知位数的数字转为字符串sum=0 #准备累加器for y in n: #遍历字符串sum+=int(y) #所有数字累加if sum==5: #如果sum为5则打印这个数字print(x)计数10000000000减去101011后,数字9有几个?10000000000减去101011后,将数字转为字符串,利用for循环进行遍历,统计9的个数。计数n=10000000000-101011s=str(n) #将计算后的数字转为字符串c=0 #记录9的个数for x in s:if x=='9': #如果x为'9'则c增加1c+=1print(c) #打印'9'的个数计数count():用于计算某个字符在字符串中出现的次数print('1999'.count('9')) #结果为3print('11119'.count('1')) #结果为4计数n=10000000000-101011s=str(n) #将数字转为字符串print(s.count('9')) #结果为7对称年年份的千位数和个位数相同且百位数和十位数相同的年份称为对称年,例如2002年。将2018年到2999年所有的对称年打印出来。对称年for x in range(2018,3000):n=str(x)a=n[0]b=n[1]c=n[2]d=n[3]if a==d and b==c:print(x)and:逻辑运算符回文把句子颠倒过来,仍与原文一致称为回文句。例如:上海自来水来自海上,奶牛产牛奶均是回文句。不仅仅有回文句,如果数字正序与倒序一致,这个数字就是回文数。例如:79697,8448都是回文数字。实际我们前面计算的对称年的年份也均为回文数。字符串切片利用字符串的切片我们可以从字符串中提取部分我们需要的内容。切片的写法为[起点:终点:步长]例如字符串s='python',接下来对字符串进行切片:s[1:3:1]:切片的内容为yts[1:3:]:省略了步长值,此时步长值就使用默认的1,所以与[1:3:1]执行效果相同s[:3:]:省略了起点,则从0开始,省略了步长使用默认的1,所以切片为'pyt's[1::]:省略了终点,则一直街取到结尾,省略了步长使用默认的1,所以切片为'ython's[::-1]:省略了起点和终点,步长值为-1,则会进行取反,也就是切片为'nohtyp'对称年利用切片解决对称年,只要年份数字数字与颠倒后的年份数字一致,就是对称那年。for x in range(2018,3000):n=str(x)if n==n[::-1]: #如果原年份与切片取反后的内容一致,就是对称年print(x)相反数一个三位数加上396后正好与原数字相反,所有这样的三位数。例如: 105 + 396 = 501256 + 396 = 652相反数遍历所有三位数,让三位数加上396得到一个新的三位数。将原三位数和新三位数转为字符串。并对原三位数字符串进行切片操作取反。如果取反后的原三位数字符串与新三位数字符串相等,则打印原三位数到屏幕。相反数for x in range(100,1000):n=str(x)m=n[::-1] #取反if x+396==int(m): #如果原年份与切片取反后的内容一致,就是对称年print('原数:',x)print('加396之后的数:',x+396) 展开更多...... 收起↑ 资源预览