Python基础作业

Python基础作业,第1张

Python基础作业 一、两个数交换,要求使用异或法完成 一、异或运算的定义

如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
在python中用^表示,如下代码(注意是二进制表示)。

1 ^ 0 #结果为1,因为1和0不同

0 ^ 1 #结果为1,因为0和1不同

1 ^ 1 #结果为0,因为1和1相同

0 ^ 0 #结果为0,因为0和0相同

二、异或运算的性质

交换律:A ^ B = B ^ A;结合律:A ^ (B ^ C) = (A ^ B) ^ C;恒等律:X ^ 0 = X;归零律:X ^ X = 0;自反:A ^ B ^ B = A ^ 0 = A;对于任意的 X: X ^ (-1) = ~X;如果 A ^ B = C 成立,那么 A ^ B = C,B ^ C = A; 三、异或运算的实例

5 ^ 3 为例,理解python中异或运算的过程
首先python会将5和3转换为二进制:101^011
然后按位求异或结果:110
最后转换成十进制,结果为6

三、异或运算的应用

交换两个数

a, b = 5, 3 
a = a ^ b 
b = a ^ b 
a = a ^ b 
print(a, b) 

不出所料,最后的输出是a=3和b=5。
这个用法实际上利用了异或的这个特性:

x^0=xx^x=0 二、判断一个数,是否是2的指数

十进制 二进制
0 0
2 10
4 100
8 1000
16 10000
十进制 二进制
1 01
3 011
7 0111
15 01111

比所求数小一个数的二进制全是第一位为0后面全为1,刚刚跟2的几次幂对应的数相反,这时就可以用位运算中的与运算来解决了。

#判断一个数是否是2 的指数
num = int(input('请输入数字:'))
if num == 0 or num & (num - 1) == 0 :
    print(num,'是2的指数')
else :
    print(num,'不是2的指数')
三、给定成绩,判断用户成绩的档次
s = int(input('请输入分数'))
if s > 100 or s < 0 :
    print("请重新输入0~100分数")
else :
    score = int(s/10)
    if score == 0 :
        print('鸡蛋')
    elif score == 10 :
        print('满分')
    elif score == 9 :
        print('优秀')
    elif score == 8 :
        print('良好')
    elif score == 7 :
        print('还可以')
    elif score == 6 :
        print('合格')
    else :
        print('不及格')
四、有1、3、5、7、9组成的所有不重复的四位数之和是多少?

用数字1.3.5.7.9可以组成的数字不重复的四位数,
一共有5×4×3×2×1=120个
不管是哪一位,每个数字出现的次数相同,
因此每个数位上,每个数出现的次数=120/5=24次
因此每一数位的总和是(1+3+5+7+9)×24=600
所以所有这些数的总和=600×1111=666600

五、一个会议有12个员工,假设已有8个员工是女性,求所有员工都是女性的概率

概率不太会555

六、输入信息

在控制台上,输入如下信息
a a^2 a^3
1 1 1
2 4 8
3 9 27

#在控制台上,输入如下信息
print('a        a^2     a^3')
for a in range(1,4):
    print(a,'t',a**2,'t',a**3,'n')
七、下列哪一项是“4是奇数或-9为正数”的否定

​ A、4是偶数或-9不是负数
​ B、4是奇数或-9不是负数
​ C、4是偶数和-9是负数
​ D、4是奇数和-9不是负数

​ C.4是奇数或-9不是负数

八、如果A是“10110110”,B是“11100000”,C是“10100000”,下面成立的是(D)

​ A、 C=A|B
​ B、 C=~A
​ C、 C=~B
​ D、 C=A&B

A|B = 1 1111 0110 A&B = 1010 0000 = C

九、判断一个整数是奇数还是偶数,至少有两种方式实现
num = int(input('请输入整数'))
if num % 2 == 0:
    print(num,'为偶数(一)')
else :
    print(num,'为奇数(一)')

if num & 1 == 0 :
    print(num,'为偶数(二)')
else :
    print(num,'为奇数(二)')
十、求矩形的面积和周长
length = int(input('请输入长'))
width = int(input('请输入宽'))
print('面积为',length*width,'周长为',(length+width)*2)
十一、根据天数(从控制台上输入)计算周数和剩余的天数
days = int(input('请输入本月已过天数'))
weeks = int(days/7)
print('今日为第',weeks,'周','剩余',30-days,'天')
十二、根据已知圆的半径radius(从控制台上输入),求其面积和周长
radius = int(input('请输入圆半径'))
print('面积为{},周长为{}'.format(radius**2*3.14,2*radius*3.14))

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5700893.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存