2019-11-06-变量与运算符

[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") # 连接字符串
image.png

2、字符串反转

a)切片反转法

str = 'i study'
print(str)
print(str[::-1])
image.png

b)函数反转法

str = 'i study'
print(str)
print(''.join(reversed(str)))
image.png

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)

三、作业

  1. 写出判断一个数是否能同时被3和7整除的条件语句, 并且打印对应的结果
x = int(input('请输入需要判断的数字:'))
if x%3==0 and x%7==0:
    print('该数'+str(x)+'可以被3和7整除')
else:
    print('该数' + str(x)+ '不可以被3和7整除')
  1. 写出判断一个数是否能够被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都不能被整除')
  1. 输入年,写代码判断输入的年是否是闰年,如果是输出'闰年',否则输出'不是闰年'

    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) + '不是闰年')
  1. 今天上课讲了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)+'秒')
  1. 定义两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否正常!

    公式: 体重(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. 位运算练习题

    1)表达式0x13 & 0x17的值(0x13)
    0001 0011
    0001 0111
    0001 0011

    2)表达式0x13 | 0x17的值(0x17)
    0001 0011
    0001 0111
    0001 0111
    3)表达式0x13 ^ 0x17的值(0x04)
    0001 0011
    0001 0111
    0000 0100

    1. 若x=12,y=13则x&y的结果是(12)
      1100
      1101
      1100
    2. 在位运算中,操作数每右移一位,其结果相当于(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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容