Python第二天

1.基本数据类型

(1)整型
(2)浮点型
(3)布尔型
当使用布尔型作为判断时,只会出输出True或False作为结果,当执行以下类型的判断时
bool(x) #x为整型数据
如果x的值为非零整型数据,则输出为True,如果为零,则结果为False,除开整型类的布尔判断,还有字符型的布尔判断。
2.1.1

a=bool(input())
b=bool(input())
print(a)
print(b)

在执行这段代码时,如果给a、b赋值True,或者给a、b赋值False,在输出的打印结果里都可以看到显示的结果为True,为什么呢?我们调整一下输入的方式,这次不输入任何内容,我们可以看到,打印输出的内容为False,一个基本的推测:当bool()赋值为空时,则为False,赋值非空则为True,尝试一下
2.1.2

a=''
b=chr(0)
print(bool(a))
print(bool(b))

执行上述语句可以发现,a的赋值为空的情况下所打印的输出布尔值为False,而b虽然将ASCII码的0号位的字符赋值给了b,但是bool类型并没有将该字符(chr(0))转化为ASCII对应的码值,即0,因为如果转换为0,按照布尔True和False的判断基准,为0则为False,则应该结果为False才对,由此可以看出,bool()只是判断赋值的字符串是否为空而已
(4)复数型
与前三类数据不同,复数型包含虚数,一般情况下Python默认虚数的长度为一时的值用j表示
2.1.3

a=3+4j			#将虚数3+4j赋值给a,将a定义为虚数
print(type(a)) #输出a的数据类型,显示结果为complex
b=3				#b为整型
c=complex(b) #将b转化为复数型并赋值给c
print(c)			#输出c,可以看到c的虚数部分为0
print(a+b)	#一个复数和实数相加,虚数部分不变

由上可以看出,虚数部分只有在complex类型时或者是定义了虚数部分时才会起作用。

2. 三元表达式

2.2.1

a=3
b=4

c=a if a>b else b #如果a>b,则执行c=a,否则执行c=b
print(c)

c+=a if a>b else b #如果a>b,则执行c=a,否则执行c=b,然后执行c+=的操作
print(c)

c*=a+b if a<b else b #如果a<b,则执行c*=a+b即c=c*(a+b),否则执行c*=b,即c=c*b
print(c)

从上述代码我们可以发现一个基本的规律,在Python内,赋值表达式的执行是从右往左执行的,先进行等号右边的内容的处理,处理完毕后在处理等号左边的部分。

3.条件判断——if

在python内,if关键字起到了分支语句的作用,当if里面的条件满足时则执行if语句下的子代码,否则继续往下执行:
2.3.1

a=1
if a>1:
	a+=1
print(a)

上述代码执行输出的结果为1,因为a=1时并不满足a>1的if条件,所以if语句的子代码并没有执行,这里需要对一个地方有清晰的了解,if语句在程序执行时,有代码的上部往下执行,当执行语句来到if语句时,会根据if的条件成立与否进行判断是否执行if语句下的子代码,如果满足则执行该部分代码,并且只会执行一次(if外面有嵌套循环的情况暂且不做讨论)。此外,if还会和else连用
2.3.2

a=3
if a>4:
	print("a的值大于4")
else:
	print("的值小于或等于4")

在这段代码中,else表示的是if条件不成的时候的所有情况,如果把if判断语句成立的所有情况看做一个集合,那么else则是if语句的非集,这两个集合构成了变量a的所有可能情况的总集合,所以if 和 else具有互斥性,上述代码解析为文字可以理解为当a>4不成立时则执行else的子代码。

4.循环——while、for

一般情况下,程序执行时,代码由上往下,当执行到if语句的判断时,该判断只执行一次,而如果需要进行多次判断,则需要使用循环。
2.4.1

a=0
while a<5:
	print(a)
	a+=1
else:
	print(a)

在2.4.1的代码中,如果a的值不大于等于5,则会一直执行while里面的语句,我们称这种在一定条件下会反复执行的结构称之为循环,在这个循环中,只有当a的值等于5的时候回跳出循环,如图
在这里插入图片描述
在这个循环中,a最后的值为5.
需要注意的是,在循环结构中,循环判断条件中的变量需要有一个变化的过程,在本案例中,a的值只有在大于等于5的时候才会停止,所以a的值需要一个叠加的过程,如果a的值不变,那么这个循环会进入死循环,死循环在实际中也有不少的应用,但是目前的小案例很少用到。
如果使用for实现循环,则代码如下:

for  a in range(0,5,1):
		print(a)
else:
		print(a)

在for循环中,range(0,5)表示的是循环范围,range()的括号中可以写三个值例如range(0,5,1),0表示循环开始的值,5表示循环结束时的值但不会等于该值,用数学表达式表示则是:
0<=a<5
1表示每次循环递增的量,当循环开始的值为0时可以不写,递增的量为1时也可以不写,即上述例子也可以写成
通过循环判断一个数是否是质数

for a in range(5):
	print(a)
else:
	print(a)

在for循环中,else里输出的a的值为4,for循环的值不会超过循环范围。

a=int(input("请输入一个大于1的整数"))

i=2

while i<a:
    if a%i==0:
        print("不是质数")
        break
    i+=1

if i==a:
    print("是质数")

一百以内奇数相加,偶数相减的结果,即
1-2+3-4+5-6+7…99

i=1
num=0
b=1
while i<100:
    num=num+i*b
    print(i*b)
    b=b*-1
    i+=1
print(num)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值