目录
1.学习知识点概要
2.内容
3.问题与解答
4.思考与总结
一、学习知识点概要
二、学习内容
1.位运算补充
原码:就是其二进制表示(注意,最高位是符号位)。
00 00 00 11 -> 3 10 00 00 11 -> -3 |
反码:正数的反码就是原码,负数的反码是符号位不变,其余位取反(对应正数按位取反)。
00 00 00 11 -> 3 11 11 11 00 -> -3 |
补码:正数的补码就是原码,负数的补码是反码+1。
00 00 00 11 -> 3 11 11 11 01 ->-3 |
符号位:最高位为符号位,0表示正数,1表示负数。在位运算中符号位也参与运算。
按位左移:num << i 将num的二进制表示向左移动i位所得的值。
00 00 10 11 -> 11
11<<3
---
01 01 10 00 ->88
按位右移:
num >> i 将num的二进制表示向右移动i位所得的值。
00 00 10 11 -> 11
11 >> 2
---
00 00 00 10 -> 2
2.循环语句、条件语句
if语句:
temp = input('请输入成绩:')
source = int(temp)
if 100 >= source >= 90:
print('A')
elif 90 > source >= 80:
print('B')
elif 80 > source >= 60:
print('C')
elif 60 > source >= 0:
print('D')
else:
print('输入错误!')
for循环:
#如果只要第一个出现在1500至2700之间的符合条件的数字
for i in range(1500,2701):
if (i%7==0)&(i%5==0):
print(i)
break
#enumerate用这个函数就会生成两个东西 两个对象并行循环 ''' 0 1 2 3 这是i 1500 1501 1502 1503 这是j 第一次循环 第二次 ''' for i,j in enumerate(range(1500,2701)): #i是从0,1,2,,,到1200。基于刚刚的题目再加一个为偶数的条件(只需要输出偶数) if (j%7==0)&(j%5==0)& (i%2==0): print(j)
pass语句:
#pass语句
for letter in 'Runoob':
if letter == 'o':
pass
print ('执行 pass 块')
print (letter)
assert关键词:
'''
#python assert断言的作用
python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。
>>assert 1==1
>> assert 1 == 2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError
'''
>>assert 2+2==2*2
>>assert len(['my boy',12])<10
>>assert range(4)==[0,1,2,3]
>>> mylist = ['item']
>>assert len(mylist) >= 1
>>mylist.pop()
'item'
>>assert len(mylist) >= 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError
3.异常处理
关于try语句:
try:
<语句>
except Exception:
print('异常说明')
try:
<语句>
except <异常名1>:
print('异常说明1')
except <异常名2>:
print('异常说明2')
else:
<语句> # try语句中没有异常则执行此段代码
三、问题与思考
#编写一个程序查找那些既可以被7整除又可以被5整除的数字,介于1500和2700之间
#python取左不取右
#两个条件之间要加括号
#如果想让它们之间空一个格子,就这样引号里面打一个格子。
for a in range(1500,2701):
if (a%7==0) and (a%5==0):
print(a,end=' ')
#龟兔赛跑游戏
'''
乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快(大写的摘)
'''
T=input()
T=int(T)
t=0
rabit=0
turtle=0
stop=False
timer=0
if(T>0):
while(t<T):
if(t%10==0):
if(rabit>turtle):
if(timer==30):
timer=0
stop=False
stop=True
timer+=1
if(stop==False):
rabit+=9
turtle+=3
t+=1
if(turtle>rabit):
print("@_@ "+str(turtle))
elif(turtle<rabit):
print("^_^ "+str(rabit))
else:
print("-_- "+str(rabit))