小学课后服务 Python少儿编程 基础篇:8-大大数字 课件 (16张PPT)

资源下载
  1. 二一教育资源

小学课后服务 Python少儿编程 基础篇:8-大大数字 课件 (16张PPT)

资源简介

(共16张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.
少儿编程课
大大数字
字符串的遍历
for x in 字符串:

字符串[下标]
字符串1 + 字符串2
字符串 * 数字
print('hello'+'world') #helloworld
print('xyz'*3) #xyzxyzxyz
for x in 'python':
print(x) #p y t h o n
s='python'
print(s[0]) #p
print(s[1]) #y
print(s[-1]) #n
字符串的切片
切片:
[起点:终点:步长]
s='python'
print(s[1:3:1])
print(s[1:3])
print(s[:3:])
print(s[1::])
print(s[::-1])
大数字计算
已知数字N为2008个2008组成的数字,N除以13的余数是?
1、利用字符串乘法的特性,构建一个有2008个2008的字符串。
2、利用数字和字符串转换的技巧,将字符串转为数字,然后对数字13求余。
大数字计算
s='2008'*2008
n=int(s)
print(n%13)
大数字计算
多位数200920092009…..2009736中有n个2009(n至少为4个),能被11整除,n
的最小取值是多少?
思路分析
利用字符串乘法的特性,构建字符串。
因为不确定有多少个2009(即无法确定n的值为多少),所以要利用while循环,不断改变n的值,利用字符串乘法与736拼接构成多位字符串。
将字符串转为数字后看是否可以整除11,如果可以循环终止,如果不可以继续测试下一个数字。
大数字计算
n=4
while True:
s='2009'*n+'736'
print(s)
if int(s)%11==0:
break
else:
n+=1
print(n)
break:终止循环
大数字计算
1,2,3,4…9,10,11…自然数组成一个数字1234567891011…
则这个数字从第1位到第207位位数之和是多少?
思路分析
数字从1开始构成一个大数字12345678910…..,显然这里不能用数学计算,而是应该将数字转为字符串后进行字符串的拼接,构成这样一个数字。
题目要求对前207位求和,并不需要一直拼接到数字207。位数够了就立即停止拼接。因此在不知道准确拼接到哪个数字停止时,无法使用for循环,应该使用while循环,并设定为一直循环。
遍历拼接好的207位字符串,将字符串转为数字并求和。
找数字
想一想代码有可以改进的地方吗?
s=''
x=1
while True:
s+=str(x) #从1开始拼接,构成一个长度为207的大字符串
if len(s)==207: #长度为207时,终止
break
else:
x+=1
sum=0
for x in s: #遍历207个字,转为数后累加求和
sum+=int(x)
print(sum)
步长
步长原意是指走路或跑步时两脚相邻着地点之间的距离。
步长在程序设计中就是数值在每次运算时的改变量(有可能增加或减少)。
例如,我们经常写的for x in range(10),x的变化是规律是每次循环时都增加1,这里的1就是改变量,也就是该循环的步长值为1。
我们也可以改变步长值,也就是改变每次循环时循环变量的改变量。
range(起始值,终止值,步长值)
例如:for x in range(1,10,3),则x的变化是规律是每次循环时都增加3,x的取值依次为1,4,7
步长值还可以应用在切片上,'python' [::3]得到的结果是ph。
找数字
从1开始到103的连续奇数依次写成一个多位数,N=1357911…
数A共有多少位?除以9的余数是?
1、可以从1开始逐个数字遍历到103,找到里面的奇数。
也可以从1开始到103,将步长设置为2,这样得到的每一个都是奇数。
2、将循环变量从数字转为字符串,进行字符串的拼接。
3、拼接完成后的字符串通过长度就可以计算出位数。
4、转为数字后对9求余就可以得到余数。
思路分析
找数字
s=''
for x in range(1,104,2):
n=str(x)
s+=n
print(len(s))
print(int(s)%9)

展开更多......

收起↑

资源预览