小学课后服务 Python少儿编程 基础篇:7-找数字 课件 (20张PPT)

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

小学课后服务 Python少儿编程 基础篇:7-找数字 课件 (20张PPT)

资源简介

(共20张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 字符串:

for x in 'python':
print(x)
字符串的切片
切片:
[起点:终点:步长]
s='python'
print(s[1:3:1])
print(s[1:3])
print(s[:3:])
print(s[1::])
print(s[::-1])
找数字
在1~218中,各位数之和能被5整除的所有数字。
例如:5,136,186等。
位数不确定的情况下使用整除求余或字符串选取的方式均无法方便的取出各位数。
此时可以将数字转为字符串后,利用循环指令取出字符串的各个字,然后再将字转为数字的方式计算各位数字之和是否可以整除5。
找数字
for x in range(1,219):
n=str(x) #将未知位数的数字转为字符串
sum=0 #准备求和
for y in n: #遍历字符串
sum+=int(y) #所有数字累加
if sum % 5==0: #如果sum可以整除5则打印这个数字
print(x)
计数
六位数2018XX可以被12整除,则XX是什么?
XX代表着两个一样的数字,则只能是00,11,22,33,44,55,66,77,88,99。
让这些数字以与2018拼接,然后与12做整除运算。
nums=['00','11','22','33','44','55','66','77','88','99']
计数
nums=['00','11','22','33','44','55','66','77','88','99']
for x in range(10):
n='2018'+nums[x]
if int(n)%12==0:
print(int(n))
多条件筛选
有时解决一个问题的需要多重筛选条件。只要有一个条件不符合就前功尽弃。
例如明朝的科举制度,分为院试、乡试、会试和殿试四个阶段:
参加院试的考生不论年纪均可参加,通过院试的考生称为秀才。
只有通过院试的秀才可以参加每三年一次的乡试,通过乡试的考生称为举人。
只有通过乡试的举人在第二年可以参加会试,通过会试的考生称为贡士。
只有通过会试的贡士可以参加殿试,殿试有皇帝或皇帝指派的重臣主持,通过殿试的考生称为进士。
特别的,进士中排名第一的称为状元,第二名称为榜眼,第三名称为探花。
多条件筛选
zfill():返回指定长度的字符串,原字符串右对齐,前面补0
找数字
有一个七位数2018xyz能同时被2,3,4,5,6,7,8,9整除,则七位数是几?
我们要找符合下面二个条件的数字
xyz各不相同。
2018与xyz组成的七位数可以整除2,3,4,5,6,7,8,9。
找数字
1. xyz各不相同。
xyz是一个七位数字的后三位,所以取值范围从000~999。将当前数字转为字符串后,一旦发现有重复的内容,就跳到下一个3位数继续判断。如果都不重复,进入步骤2。
如果数字不足3位,前面补0如何实现?
解决方式:将数字转为字符串,调用字符串的zfill(希望长度)函数。只要字符串的长度小于期望长度,则会在字符串前面补充0。
找数字
2. 2018与xyz组成的七位数可以整除2,3,4,5,6,7,8,9
与2018组成7位数字之后,从2至9进行整除测试,如果一个符合就不用进行后面的整除测试了。
找数字
n='2018'
for x in range(1000):
flag=True
s=str(x).zfill(3) #将不足三位的字符串前面补0
for y in s:
if s.count(y)>1: #如果有重复的内容
flag=False
break
if flag:
m=int(n+s) #生成七位数字
for z in range(2,10): #七位数字是否可以整除2,3,4,5,6,7,8,9
if m%z!=0:
flag=False
break
if flag:
print(n+s) #打印通过以上所有测试的七位数
找数字
有一个三位数ABC,不同的字母代表不同的数字,且:
A能被2整除,
AB能被3整除,
ABC能被5整除,
则满足条件的所有三位数中最小值是?最大值是?
找数字
我们要找符合下面三个条件的数字
三位数,每位数各不相同。
对数字组合有整除的要求。
只要最小的和最大的2个三位数。
找数字
三位数,每位数各不相同。
遍历所有的3位数字(100~999)
将当前数字转为字符串后,一旦发现有重复的内容,就跳到下一个3位数继续判断。如果都不重复,进入步骤2。
找数字
对数字组合有整除的要求
对字符串进行切片,切片后转为数字进行整除判定。通过整除判定进入步骤3
找数字
只要最小的和最大的2个三位数。
设定min和max两个变量,初始时min为最大的三位数999,而max为最小的三位数100。
当一个三位数字通过了步骤1和步骤2的判定后,只要该数字大于原先的max,则将这个数字赋值给max;只要该数字小于min,则将这个数字赋值给min。
找数字
nums=[0,2,3,5]
min=999 #假设最小值
max=100 #假设最大值
for x in range(100,1000):
n=str(x)
s=True
for y in n:
if n.count(y)>1:
s=False
break
if s:
for z in range(1,4):
a=int(n[0:z:])
if a % nums[z]!=0:
s=False
break
if s:
if x > max : max=x
if x < min : min=x
print(min,max)

展开更多......

收起↑

资源预览