[TOC]
一、变量
1)、整型
2)、浮点型
3)、字符型
1、字符串截取
str = 'good good study'
print(len(str))
print (str) # 输出字符串
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符
print (str[0]) # 输出字符串第一个字符
print (str[2:5]) # 输出从第三个开始到第五个的字符
print (str[2:]) # 输出从第三个开始的后的所有字符
print (str * 2) # 输出字符串两次
print (str + "TEST") # 连接字符串
2、字符串反转
a)切片反转法
str = 'i study'
print(str)
print(str[::-1])
b)函数反转法
str = 'i study'
print(str)
print(''.join(reversed(str)))
c)字符转义
二、运算符
1)、数学运算符
+、-、、/、%、//、*(加、减、乘、除、取余、整除、幂)
除法运算结果都是浮点
%用途一:判断奇偶数、用途二:判断是否整除、用途三:取位数,num=123;num%10 ===>3
//用途:取高位 ;
2)、比较运算符
> < = >= <= == !=
3)、逻辑运算符
and or not
and: (都真为真)
num = 21
if(num%3 == 0 and num%7 == 0):
print('True')
else:
print('False')
or: (有真则真)
age = 21
money = 1000000
if (age>20 or money>500000):
print('帅啊~')
not:
表示否定(当写入不能被3和7同时整除的类似判断时)
num = 32
if not(num%3==0 and num%7==0):
print(True)
else:
print(False)
短路操作
and运算下当条件1为false时第二个条件不会执行
or运算下当条件一为True时第二个条件见不会执行
4)、赋值运算符
=号,赋值符号,将右边的数据赋值给左边的变量,动词。
=:
+=、-=、=、/=、%=、*=
a+=10 ===>a=a+10
5)、位运算符
针对数据的补码进行操作,效率高。
&(按位与)、|(按位或)、~(按位取反)、^(异或)、
<<(左移)、>>(右移)
&: 1101(都一为一)
1010
结果 1000
应用:1、高效判断数字奇偶性
偶数补码最后一位必定为0,奇数最后一位必定为1.
故:将数与1相与,结果为1是奇数,结果是0是偶数。
|: 1101(有一为一)
1010
结果 1111
~: 1101
结果 0010
^: 1101(相同为零不同为一)
1010
结果 0111
<<:
4<<2
结果为4 x 22=16
>>:
4>>2
结果为 4 x 2-2=1(整除)
9//2 = 4
-9//2=-5(往小取整,不是-4)
三、作业
- 写出判断一个数是否能同时被3和7整除的条件语句, 并且打印对应的结果
x = int(input('请输入需要判断的数字:'))
if x%3==0 and x%7==0:
print('该数'+str(x)+'可以被3和7整除')
else:
print('该数' + str(x)+ '不可以被3和7整除')
- 写出判断一个数是否能够被3或者7整除,但是不能同时被3或者7整除, 并且打印对应的结果
x = int(input('请输入需要判断的数字:'))
if (x%3==0 or x%7==0) and not(x%3==0 and x%7==0):
print('该数'+str(x)+'可以被3和7整除,但是不能同时被3或者7整除')
else:
print('该数' + str(x)+ '可以被3和7整除或3与7都不能被整除')
-
输入年,写代码判断输入的年是否是闰年,如果是输出'闰年',否则输出'不是闰年'
value = input('请输入年:')
year = int(value)
x = int(input('请输入需要判断的年分:'))
if (x%4==0 and not(x%100==0)) or (x%400==0):
print('您输入的年分'+str(x)+'是闰年')
else:
print('您输入的年分' + str(x) + '不是闰年')
-
今天上课讲了15000秒的课,编程计算今天上课时间是多少小时,多少分钟,多少秒;以‘XX时XX分XX秒’的方式表示。
例如: 时间67秒 —> 0时1分7秒
get_time = int(input('请输入上课时长:'))
h = get_time//3600
m = (get_time%3600)//60
s = (get_time%3600)%60
print('当前是'+str(h)+'时'+str(m)+'分'+str(s)+'秒')
-
定义两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否正常!
公式: 体重(kg)/身高(m)的平方值在18.5 ~ 24.9之间属于正常。
x = input('请按照格式(体重(kg),身高(米))输入要计算的数(如:80,2):')
heavy, high = x.split(',')
if(18.5<=((float(heavy)/float(high)**2))<=24.9):
print('属于正常身材')
else:
print('这个身材有问题')
-
位运算练习题
1)表达式0x13 & 0x17的值(0x13)
0001 0011
0001 0111
0001 00112)表达式0x13 | 0x17的值(0x17)
0001 0011
0001 0111
0001 0111
3)表达式0x13 ^ 0x17的值(0x04)
0001 0011
0001 0111
0000 0100- 若x=12,y=13则x&y的结果是(12)
1100
1101
1100 - 在位运算中,操作数每右移一位,其结果相当于(B )
A.操作数乘以2 B.操作数除以2
C.操作数除以4 D.操作数乘以4
6).设x 是一个整数(16bit).若要通过x|y使x低度8位置1,高8位不变,则y的二进制数是(0000 0000 1111 1111 )
x = 0000 0000 0000 0000
y = 0000 0000 1111 1111 - 若x=12,y=13则x&y的结果是(12)