Python 趣味编程:我的压岁钱

liftword2个月前 (03-09)技术文章9

题目

压岁钱又名压祟钱。是除夕吃完年夜饭,由长辈将事前准备好的钱分给晚辈,是过年习俗之一。

今年除夕页面,小明收到了妈妈的 600 元,爸爸的 800 元,奶奶的 800 元,爷爷的 1000 元,姥姥的 666 元,姥爷的 888 元,舅舅的 500 元以及姑姑的 500 元。

请帮小明计算下今年收到了多少压岁钱呢?

代码

# 妈妈的压岁钱
MotherMoney = 600
# 爸爸的压岁钱
FatherMoney = 800
# 奶奶的压岁钱
GrandmotherMoney = 800
# 爷爷的压岁钱
GrandFatherMoney = 1000
# 姥姥的压岁钱
GrandmaMoney = 666
# 姥爷的压岁钱
GrandpaMoney = 888
# 舅舅的压岁钱
UncleMoney = 500
# 姑姑的压岁钱
AuntMoney = 500

print(f"妈妈给小明{MotherMoney}元")
print(f"爸爸给小明{FatherMoney}元")
print(f"奶奶给小明{GrandmotherMoney}元")
print(f"爷爷给小明{GrandFatherMoney}元")
print(f"姥姥给小明{GrandmaMoney}元")
print(f"姥爷给小明{GrandpaMoney}元")
print(f"舅舅给小明{UncleMoney}元")
print(f"姑姑给小明{AuntMoney}元")
print(f"小明今年一共收到了{MotherMoney + FatherMoney + GrandmotherMoney + GrandFatherMoney + GrandmaMoney + GrandpaMoney + UncleMoney + AuntMoney}元")
# 输出结果
# 妈妈给小明600元
# 爸爸给小明800元
# 奶奶给小明800元
# 爷爷给小明1000元
# 姥姥给小明666元
# 姥爷给小明888元
# 舅舅给小明500元
# 姑姑给小明500元
# 小明今年一共收到了5754元

知识点

在 Python 中,整数(int)是一种基本的数据类型,用于表示整数数值。以

整数的定义和表示

在 Python 中,可以直接使用数字来定义整数,不需要像其他一些语言那样声明数据类型。

整数可以是正数、负数或零。

# 定义不同类型的整数
positive_integer = 10
negative_integer = -20
zero = 0

print(positive_integer)  # 输出: 10
print(negative_integer)  # 输出: -20
print(zero)  # 输出: 0

整数的进制表示

Python 支持多种进制的整数表示:

  • 十进制:最常见的表示方式,直接使用数字。
  • 二进制:以 0b 或 0B 开头,后面跟着二进制数字(0 或 1)。
  • 八进制:以 0o 或 0O 开头,后面跟着八进制数字(0 - 7)。
  • 十六进制:以 0x 或 0X 开头,后面跟着十六进制数字(0 - 9,a - f 或 A - F)。
# 十进制
decimal_num = 25
print(decimal_num)  # 输出: 25

# 二进制
binary_num = 0b11001
print(binary_num)  # 输出: 25

# 八进制
octal_num = 0o31
print(octal_num)  # 输出: 25

# 十六进制
hex_num = 0x19
print(hex_num)  # 输出: 25

整数的运算

Python 支持多种整数运算,包括基本的算术运算和位运算。

基本算术运算

a = 10
b = 3

# 加法
sum_result = a + b
print(sum_result)  # 输出: 13

# 减法
sub_result = a - b
print(sub_result)  # 输出: 7

# 乘法
mul_result = a * b
print(mul_result)  # 输出: 30

# 除法
div_result = a / b
print(div_result)  # 输出: 3.3333333333333335

# 整除
floor_div_result = a // b
print(floor_div_result)  # 输出: 3

# 取余
mod_result = a % b
print(mod_result)  # 输出: 1

# 幂运算
pow_result = a ** b
print(pow_result)  # 输出: 1000

位运算

x = 5  # 二进制: 0101
y = 3  # 二进制: 0011

# 按位与
and_result = x & y
print(and_result)  # 输出: 1

# 按位或
or_result = x | y
print(or_result)  # 输出: 7

# 按位异或
xor_result = x ^ y
print(xor_result)  # 输出: 6

# 按位取反
not_result = ~x
print(not_result)  # 输出: -6

# 左移
left_shift_result = x << 1 printleft_shift_result : 10 right_shift_result='x'>> 1
print(right_shift_result)  # 输出: 2

整数的方法

1. bit_length()

功能:返回以二进制表示一个整数时所需的最少位数,不包含符号位和前面的零。

num1 = 10  # 二进制为 1010
print(num1.bit_length())  # 输出: 4

num2 = -10
print(num2.bit_length())  # 同样输出 4,因为不考虑符号位

2. to_bytes(length, byteorder, *, signed=False)

功能:将整数转换为指定长度和字节序的字节对象。

参数说明

    • length:生成字节对象的长度。
    • byteorder:字节序,值可以是 'big'(大端序)或 'little'(小端序)。
    • signed:布尔值,表示是否使用有符号整数表示。
num = 255
# 大端序,长度为 2 字节
bytes_big = num.to_bytes(2, byteorder='big')
print(bytes_big)  # 输出: b'\x00\xff'

# 小端序,长度为 2 字节
bytes_little = num.to_bytes(2, byteorder='little')
print(bytes_little)  # 输出: b'\xff\x00'

3. from_bytes(bytes, byteorder, *, signed=False)

功能:这是一个类方法,用于将字节对象转换为整数。

参数说明

    • bytes:要转换的字节对象。
    • byteorder:字节序,值可以是 'big' 或 'little'。
    • signed:布尔值,表示是否使用有符号整数表示。
byte_data = b'\x00\xff'
# 大端序转换为整数
num = int.from_bytes(byte_data, byteorder='big')
print(num)  # 输出: 255

4. as_integer_ratio()

功能:返回一个元组,包含整数的分子和分母,对于整数而言,分母始终为 1。

num = 5
ratio = num.as_integer_ratio()
print(ratio)  # 输出: (5, 1)

整数的类型转换

可以使用 int() 函数将其他数据类型转换为整数:

# 浮点数转换为整数
float_num = 3.14
int_num = int(float_num)
print(int_num)  # 输出: 3

# 字符串转换为整数
str_num = "10"
int_num = int(str_num)
print(int_num)  # 输出: 10

整数的无限精度

Python 的整数类型具有无限精度,这意味着可以处理任意大的整数,而不会像其他一些语言那样出现溢出问题。

# 处理大整数
large_num = 123456789012345678901234567890
result = large_num * large_num
print(result)  # 可以正常输出结果

#趣味编程#

相关文章

Python实现整数的进制转换

任务要求将十进制整数分别转换为二进制、八进制和十六进制,并将结果在控制台打印输出。任务分析Python提供了bin()、oct()、hex()等内置函数直接完成进制转换,但输出结果包含前缀(如0b)。...

Python中的进制转换函数详解

左手编程,右手年华。大家好,我是一点,关注我,带你走入编程的世界。公众号:一点sir,关注领取python编程资料在编程中,经常需要在不同的进制之间转换数值,尤其是二进制、八进制、十进制和十六进制。P...

Python中的十六进制与十进制的相互转换

十进制主要运用于日常生活当中,而八进制主要运用于电子技术行业,是为了配合二进制而使用的,二进制是机器能够识别的最直接语言,但是二进制位数太多,不方便记录,所以一般把二进制转化为八进制或十六进制。在这篇...

「调试」使用python与单片机进行通信

调试说明:环境:usb转ttl线一根,通信协议一份,STC系列单片机一个,电脑一台。功能:使用python发送16进制数据转换成字节流数据发给单片机,单片机返回16进制数据后转10进制(本次测试是获取...

逐浪字体大师的UNI转码之Excel将十六进制转换成十进制的方法

最近在做字体大师,一款可以快速通过网页进行字体设计,从而生成字体的开放工具,部署于v.ziti163.com,效果如下:在这里插入图片描述因为其中C#需要调用字符码,其读取的是10进制,而字体的uni...