学习python第二天及其作业

今天学习了运算符和分支结构

数学运算符

描述

实例

+

两个对象相加

1 + 1 结果 2

-

两个对象想见

2 - 1 结果 1

*

两个对象相乘

1 * 2 结果 2

/

两个对象相除

2 / 1 结果 2

%

取模运算,求余数

10 % 3 结果 1

**

幂运算

2 ** 3 结果 8

//

整除运算,向下取整

5 // 2 结果 2,-5 // 2 结果 -3

赋值运算

描述

实例

+=

赋值

a += 2 相当于a = a + 2

-=

赋值

a -= 2 相当于a = a - 2

=

赋值

a = 2 将2赋给a

*=

赋值

a *= 2 相当于a = a * 2

/=

赋值

a /= 2 相当于a = a / 2

比较运算符

描述

实例

==

比较对象是否相等,相等返回True,不相等返回False

3==3 结果True

!=

比较对象不相等,不相等返回True,相等返回False

2 != 3 结果True

>

大于运算

3 > 2 结果True

<

小于运算

3 < 2 结果False

>=

大于等于

2 >=1 结果True

<=

小于等于

1 <= 1 结果True

  • 位运算
    比较某个整数数是否是偶数,可以用&运算
    实例:方法一
a = int(input("请输入一个整数:"))
if a & 1 == 1:
	print("a为奇数")
else:
    print("a为偶数")

奇数的二进制最后以为都为1,偶数为0,假设 a = 11 二进制为 1011 , 10进制1的二进制为 0001,1 &1=1 ,1 & 0 = 0, 0 & 0 = 0,相同位都为1结果才为1。

1011

0001

结果 0001

方法二判断奇偶性:

if a % 2 == 0:
	print("a是偶数")
else:
    print("a是奇数")

相较于两种方法,第一种方法更面向于计算机的二进制算法,在以后更深层次的开发,大多都使用第一种来判断奇偶性。

  • if 结构
if 条件语句:			#条件语句不能是赋值语句,例如 a = 2,a += 2
	代码				  #代码块需要缩进,同一个if代码块缩进要对齐
elif 条件语句:
	代码
...
	...
else:
	代码

选择题

  1. print(100 - 25 * 3 % 4) 应该输出什么? (B)
    A. 1B. 97C. 25D. 0
  2. 下列哪种说法是错误的(A)。
    A. 除字典类型外,所有标准对象均可以⽤于布尔测试B. 空字符串的布尔值是FalseC. 空列表对象的布尔值是FalseD. 值为0的任何数字对象的布尔值是False
  3. 下列表达式的值为True的是(B)。
    A. 3>2>2B. 1 and 2 != 1C. not(11 and 0 != 2)D. 10 < 20 and 10 < 5
  4. Python不⽀持的数据类型有(A)。
    A. charB. intC. floatD. list
  5. (多选)n = 6784,以下能够获取到7 的⽅法有(C, D)。
    A. n / 1000 % 100B. n % 1000 / 100C. n // 100 % 10D. n // 10 % 100 // 10
  6. 运⾏以下程序,当从键盘上输⼊12,运⾏结果是(A)。
x = (input())
print(type(x))

A. <class 'str'>

B. <class 'int'>

C. 出错

D. <class 'dict'>

  1. 下列表达式的运算结果是(D ) 。
a = 100
b = False
print(a * b > -1)

A. False

B. 1

C. 0

D. True

填空题

  1. 查看变量中数据的类型的函数名是(type)。
  2. 已知 x = 3 == 3 ,执⾏结束后,变量x的值为(True)。
  3. 已知 x = 3 ,那么执⾏语句 x += 6 之后,x的值为(9)。
  4. 表达式 3 ** 2 的值为(9),表达式 3 * 2 的值为(6),表达式 4 ** 0.5 的值为(2.0)。

编程题

  1. 写出判断⼀个数是否能同时被2和5整除的条件语句, 并且打印对应的结果。
i = int(input("请输入一个数字:"))
if i % 10 ==0:
    print("你输入的数字是 %s ,能同时被2和5整除" % i)
else:
    print("不能同时被2和5整除")
  1. 写出判断⼀个数是否能够被2或者5整除,但是不能同时被2或者5整除的条件语句, 并且打印对应
    的结果。
a = int(input("请输入一个正整数:"))
if a % 2 == 0 and a % 5 == 0:
    print( '该数字能被 2 和 5 同时整除')
elif a % 2 == 0:
    print( '该数字能被 2 整除')
elif a% 5 == 0:
    print( '该数字能被 5 整除')
else :
    print('该数字不能被 2 和 5 整除')
  1. 假设今天的上课时间为15678秒,编程计算今天上课时间是多少⼩时,多少分钟,多少秒;以‘XX
    时XX分XX秒’的⽅式表示出来。

例如:100秒表示成 0时1分40秒

time_class = 15678
hour = time_class // 3600
minutes = time_class % 3600 // 60
mile = time_class % 60
print("%s时%s分%s秒" % (hour, minutes, mile))

#  4时21分18秒
  1. 定义两个变量保存⼀个⼈的身⾼和体重,编程实现判断这个⼈的身材是否正常!
    公式: 体重(kg)/身⾼(m)的平⽅值 在18.5 ~ 24.9之间属于正常。

输出格式: 是否正常:True/False

height = float(input("请输入身高(m)"))
weight = float(input("请输入体重(kg)"))
value = weight/height**2
if 18.5 <= value <= 24.9:
    print("正常")
elif value < 18.5:
    print("偏轻")
else:
 print("偏重")