Python入门初学九、数值运算(附水仙花案例)


关于数值运算呢,就要说到运算符的使用。

1、算数运算符

因为是整数,所以也可以进行数学中的基本运算。

算数运算符是运算符的一种
算是完成基本的算数运算使用的符号,用来处理四则运算。

取余数

比如 three 的值为3 , ten 的值为10,然后通过 print 计算当前运算。

three = 3
ten = 10

print(ten % three)

这个是取余算法,%是取余的符号,首先做为一个除法,10 % 3 然后取它的余数,余数为1 。
在这里插入图片描述

取整数

再试试取整除运算

three = 3
ten = 10

print(ten // three)

10 除以 3 以后,结果为 3.33333 无限循环,然后用两个// 作为运算,表示取整,那么结果就是3 。

运行一下
在这里插入图片描述

幂运算又叫做次方或者乘方

three = 3
ten = 10

print(ten ** three)

在这里它是取的 10 的 3 次幂 ,相当于10x10x10

看看结果
在这里插入图片描述
加减乘除我就不一一列举了,可以对照这个表。

运算符 描述 实例
+ 10 + 20 = 30
- 10 - 20 = 10
* 10 * 20 = 200
/ 10 / 20 = 0.5
// 取整除 返回除法的整数部分(商)9 // 2 输出结果 4
% 取余数 返回除法的余数 9 % 2 = 1
** 又称次方、乘方,2 ** 3 = 8

运算符的优先级

和数学中的运算符优先级一样,在Python中进行数学计算式,同样也是:

  • 先乘除后加减
  • 同级运算符是 从左到右 计算
  • 可以使用 () 调整计算的优先级

来看表格

运算符 描述
** 幂(最高优先级)
*/%// 乘、除、取余数、取整数
+ - 加法、减法

例如

2 + 3 * 5 = 17
(2 + 3) * 5 = 25
2 * 3 + 5 = 11
2 * (3 + 5) = 16

2、赋值运算符

来实际操作一下

ten += three  

计算结果是这样 ten = ten + three

ten 和 three 两个变量相加,通过 += 这个赋值运算符号,把结果赋给左边的变量。

打印一下看看

print ('-------------------------------------------------------------------')
ten += three  

print(ten)

可以看到结果为13
在这里插入图片描述
所以说两个变量相加,通过赋值运算把结果赋给左边的变量。

除了+= 的话,还有其它的。

来看表,一下假设变量 a 为 10 , 变量 b 为 20 ;

运算符 描述 实例
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整赋值运算符 c //= a 等效于 c = c // a

3、水仙花案例

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)

以371为例,判断371 是不是水仙花数。

1)取个位数

我们把它每个位数取出来,首先取个位数,个位数怎么去取呢?
371定义一个number

number = 371

然后用number取余10,结果就是个位数余1。

number = 371

g = number % 10
print(g)

打印一下
在这里插入图片描述

2)取十位数

然后再来取十位数

同样的通过number除以10,就产生小数位了,然后取余数。

number / 10 % 10

通过S打印一下

number = 371

s = number / 10 % 10
print(s)

结果
![

可以看到他这里有一个小数位,咱们通过 int 做一下处理,把它强制转换为一个整数。

number = 371

s = int(number / 10 % 10)
print(s)

打印结果
在这里插入图片描述

3)取百位数

百位数就更加好取了,咱们直接取整100,然后用b这个变量接收一下,打印看看结果。

number = 371

b = number // 100
print(b)

在这里插入图片描述

4)判断水仙花

现在371三个数字都取出来了,接下来咱们判断一下这个数字是不是水仙花数。

这里咱们用 if 来做逻辑判断(一个 = 是赋值,两个 == 才是判断相整)

number = 371

g = number % 10
print(g)

s = int(number / 10 % 10)
print(s)

b = number // 100
print(b)

if number == g ** 3 + s ** 3 + b ** 3:
    print(number,'是水仙花数')

打印结果
在这里插入图片描述
大家可以用其它数去试试,实践一下才记得住。

猜你喜欢

转载自blog.csdn.net/ooowwq/article/details/122244070