小学课后服务 Python少儿编程 基础篇:5-数字拆拆乐 课件 (17张PPT)

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

小学课后服务 Python少儿编程 基础篇:5-数字拆拆乐 课件 (17张PPT)

资源简介

(共17张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 变量 in 可迭代内容:
循环体…
for x in 'abcde':
print(x)
数学运算
除法: /
整除: //
求余: %
print(31/3)
print(31//3)
print(31%3)
运行结果:
10.333333333333334
10
1
多位数取出各个位上的数字
今年是2018年,请取出年份各个位上的数字2,0, 1, 8 。
按位取数字
利用整除与余数可以取出数字的各个位:
利用整除取千位数字:2018 //1000 = 2,打印到屏幕。
利用余数取出非千位的所有数字:2018 % 1000 = 18
利用整除取百位数字:18//100 = 0,打印到屏幕
利用余数取出非千百位的所有数字:18 % 100 = 18
利用整除取十位数字:18//10 = 1,打印到屏幕
利用余数取出非千百十位的所有数字:18 % 10 = 8
利用整除取个位数字:8//1 = 8,打印到屏幕
代码实现
n=input("输入4位数值:")
n=int(n)
print(n//1000)
n=n%1000
print(n//100)
n=n%100
print(n//10)
n=n%10
print(n//1)
各位数字之和为35的四位数字
利用循环可以获得所有的四位数
对循环中每一个四位数分别取出各位数字相加,
如果和为35则将数字打印到屏幕。
代码实现
for x in range(1000,10000):
n=x
a=x//1000
n=n%1000
b=n//100
n=n%100
c=n//10
n=n%10
d=n//1
if a+b+c+d==35:
print(x)
乘方运算
多个相同的数字连乘,称为乘方运算。
例如: 2×2就是一个乘方运算,称为2的2次方,前一个2称为底数,后一个2称为指数。
数学中写作22
10 × 10 × 10也是一个乘方运算,称为10的3次方,10称为底数,3称为指数。
数学中写作103
3 × 3 × 3 ×…………3,称为3的n次方,3称为底数,n称为指数。
数学中写作3n
乘方运算
在Python中进行乘方运算的步骤:
第一步:从数学之家请出能量小子
第二步:向能量小子中输入底数和指数,就可以获得乘方结果。
from math import pow #从数学之家请出能量小子
n = pow(10,3) #向能量小子中输入底数和指数,就可以获得乘方结果
利用循环修改按位取数字
from math import pow
n=2018
for x in range(4):
m=pow(10,3-x) #注意每次循环时3-x的变化
print(n//m)
n=n%m
数字和字符串互转
字符串 = str ( 数字 )
数字 = int ( 字符串 )
注意:在将字符串转为数字时,不能是任意的字符串,
只能是数字形式的字符串。
为什么要进行转换?
例如:我们有字符串 s='123abc'
字符串有很多非常便捷的特性和函数,方便我们对字符串进行操作。
取指定位置的一个字:s[0]为'1',s[3]为'a'
取指定的字在字符串中的位置:s.index('1')为0,s.index('a')为3
取字符串的一部分内容:s[1:3]为'23'
利用字符串按位取数字
注意:字和字之间或字与数之间是没有办法直接进行符合数学规律的运算。
所以,如果要进行正常的数学运算,必须要将字转为数再进行。
n=2018
s=str(n) #将数字2018转为字符串'2018'
print(s[0]) #'2018'中的第一个字'2'
print(s[1]) #'2018'中的第二个字'0'
print(s[2]) #'2018'中的第三个字'1'
print(s[3]) #'2018'中的第四个字'8'
400~499这些自然数中,个位数字大于百位数字的有哪些?
获取数字
注意:a和b取到的都是字。如果要进行数学比较,必须要把字转为数再进行
for x in range(400,499):
n=str(x)
a=n[0] #取到代表百位的数字的字
b=n[2] #取到代表个位的数字的字
if int(b)>int(a):
print(x)
一个三位数,它是各位数之和的16倍,所有满足条件的数字
获取数字
for x in range(100,1000):
n=str(x)
a=int(n[0]) #取到代表百位的数
b=int(n[1]) #取到代表十位的数
c=int(n[2]) #取到代表个位的数
if x==(a+b+c)*16:
print(x)

展开更多......

收起↑

资源预览