C / C++ 先申请变量,申请变量的同时就规定了变量所需内存的大小,然后再把数据放进去:
python 先看数据需要多大内存,根据数据去申请内存,然后再和内存去关联,最后将内存空间和变量进行关联
所以:python 重新对变量赋值时,会根据新数据重新分配新地址空间,将新的数据存储到其中,
最后将新的内存空间和变量进行关联原来的空间会被自动释放,而C/C++ 不会重新分配地址,而且重新赋值时只能赋相同类型的变量
·
a=100
print('a:',id(a))
a=200
print('a:',id(a))
print(2+5)
print(2-5)
print(2*5)
print(2/5) #0.4 注意和C的区别
print(5/2) #2.5
print(10%4) #2
print(15%4) #3
练习:判断一个数是否能被另外一个数整除
a=int(input('判断输入的数是否能被4整除:'))
if (a%4==0):
print('可以')
else:
print('不可以')
练习:取低位数
num=234
print(num%10)
print(num%100)
整除 : 只保留整数部分,向下(小)取整
print(25//2)
print(3.9//3)
print(-5//2) #-3
练习:写程序获取任意一个正整数的十位数
b=int(input('获取一个正整数的十位数'))
print(b%100//10) #法一(先取余获得最后两位数,再通过整除获取十位数)
print(b//10%10) #法二(先整除10去掉原来的个位数,再取余操作获得原十位数)
也可以用来开方
print(16**0.5) #4
print(8**(1/3))#2
print(1024**(1/10))#2
:所有比较运算符的结果都是bool值
print(10!=10)
print(10==10)
print(5!=10)
print(10>=10)
print(10<=10)
Python中比较运算符可以连写
age=188
print(0<=10<=100)
print(0<=10<=9)
print(7<=age<=299)
age=999
print(7<=age<=299)
print('abc'>'ABC')
注意不同类数据不能进行比较
print('123'>10) #不同类型会报错
1)应用场景,用于表达对多个条件同时满足的时候,相当于并且
2)运算符规则:全真才真,一假都假
True and True :True
False and True :False
False and False:False
练习:一个整数是否能够被3和7整除
num=int(input('输入数字判断能否被3,7整除:'))
if (num%3==0 and num%7==0):
print('True')
else:
print('False')
可以会直接判断能否被21整除:
num=int(input('输入数字判断能否被3,7整除:'))
if (num%21==0):
print('True')
else:
print('False')
1)用于表达多个条件只需要符合一个便可以的情况,相当于或者
2)运算规则:一真为真,全假才假
True and True :True
False and True :True
False and False:False
练习:一个整数是否能够被3或7整除
num=int(input('输入数字判断能否被3,7整除:'))
if (num%3==0 or num%7==0):
print('True')
else:
print('False')
练习:判断指定的年是否为闰年(tips:能被4整除但是不能被100整除 或者 能被400整除的年 )
def judge_year(year):
# year = int(input('请要判断是否为闰年的年份:'))
#if (year%4==0 and year%100!=0 or year%400==0): #可以写到一起来判断
if (year%4==0 and year%100!=0):
print('是闰年!')
elif (year%400==0):
print('是闰年!!')
else:
print('非闰年!!!')
year = int(input('请要判断是否为闰年的年份:'))
judge_year(year)
1)应用场景:如果一个问题正向描述很困难,那么就将其条件反向写,然后前边加not
2)运算规则:
not True : False
not False: True
判断一个数是否不能同时被3.7整除的时候要考虑:
a. 能被7整除,不能被3整除
b. 能被3整除,不能被7整除
c. 不能被3整除,也不能被7整除
法一:
print((num1%7==0 and num1%3!=0)or(num1%3==0 and num1%7!=0)or(num1%7!=0 and num1%3!=0))
法二:
print(not num1%21==0)
and的短路:条件一 and 条件二 :如果条件一是False,程序不会执行条件二是否成立
True and print(‘条件二1’)#不会短路
False and print(‘条件二2’)#会短路
or的短路 ,条件一 or 条件二 :如果条件一是True,程序不会执行条件二对应的代码
True or print(‘条件二11’)#会短路
False or print(‘条件二22’)#不会短路
数据1 and 数据2 :
打印出的一定是两个结果中的一个,如果前一个结果是Flase,所以结果是数据1,
如果第一个是True ,结果是数据2
数据1 or 数据2 :
打印出的一定是两个结果中的一个,如果前一个结果是Flase,所以结果是数据2,
如果第一个是True ,结果是数据1
not 数据 ;数据的bool值取反
print(True and 10)#10
print(7 and 10) #10
print(9 or 8)#9
print(0.0 or 1)#1
python 中每个数据都有一个bool值,不管什么类型的数据都可以转换成bool值
所有的0值,空值对应的bool值都是Flase,其他都是True
print(bool(0))#False
print(bool(242))#True
print(bool(''))#空串bool值是False
print(bool(None))#Flase
print(bool('\0'))#True
print(bool(' '))#就算是空格bool值也是True
#print(a=10) #这样会报错
print(10+20) #这样可以
#print(10+(p=20)) #这样会报错
顺序结构:
分支结构:满足条件才执行,不满足不执行或执行其他代码
语法:
if 条件语句:
代码段
说明:
1)if - 关键字:固定写法
2)条件语句 - 任何有结果的表达式(只有赋值语句没结果):具体数据,,赋值过的变量, 运算表达式
3): - 固定写法
4)代码段 - 和if 保持一个缩进(一般用tab键产生)
就是满足条件才执行的代码
练习:指定的数据为奇数,就打印‘奇数’
#法一
def odd(num):
if num%2!=0: #!!!!推荐用法二 if num%2:
print('奇数')
else:
print('偶数')
num=int(input('请输入数字:'))
odd(num)
print(100 - 25 * 3 % 4)
应该输出什么? (B)
A. 1
B. 97
C. 25
D. 0
下列哪种说法是错误的(A)。
A. 除字典类型外,所有标准对象均可以⽤于布尔测试
B. 空字符串的布尔值是False
C. 空列表对象的布尔值是False
D. 值为0的任何数字对象的布尔值是False
下列表达式的值为True的是(A)。
A. 3>2>2
B. 1 and 2 != 1
(#true)
C. not(11 and 0 != 2)
D. 10 < 20 and 10 < 5
Python不⽀持的数据类型有(A)。
A. char
B. int
C. float
D. list
(多选)n = 6784,以下能够获取到7 的⽅法有(CD)。
A. n / 1000 % 100
B. n % 1000 / 100
(#n % 1000 / /100`)
C. n // 100 % 10
D. n // 10 % 100 // 10
x = (input())
print(type(x))
A.
(注意没有进行类型转换,类型是str)
B.
C. 出错
D.
下列表达式的运算结果是(D ) 。
a = 100
b = False (#这里False参与运算时按0算,True按1算)
print(a * b > -1)
A. False
B. 1
C. 0
D. True
num=int(input('判断⼀个数是否能同时被2和5整除:'))
if num%10:
print('不能同时被2和5整除')#print(num,'不能同时被2和5整除',sep='')
else:
print('能同时被2和5整除')
写出判断⼀个数是否能够被2或者5整除,但是不能同时被2或者5整除的条件语句, 并且打印对应
的结果。
num=int(input('判断⼀个数是否能同时被2或5整除,但是不能同时被2或者5整除:'))
#if (num%2==0 and num%5!=0) or (num%5==0 and num%2!=0):
#if ((num%2!=0 and num%5!=0) or (num%10==0)):
if (num%2==0 or num%5==0) and num%10!=0:
print('能同时被2或5整除,但是不能同时被2或者5整除')
else:
print('不符合条件')
假设今天的上课时间为15678秒,编程计算今天上课时间是多少⼩时,多少分钟,多少秒;以‘XX
时XX分XX秒’的⽅式表示出来。
例如:100秒表示成 0时1分40秒
seconds=15678
hour,min,second=0,0,0
if seconds>=3600:
hour=seconds//3600 #通过整除确定有几小时
if seconds>60:
min=seconds%3600//60 #不满3600的秒数通过整除确定有几分钟
second=seconds%60 #直接对60取余获得秒数
print('今天上课时间是:','**',hour,'时',min,'分',second,'秒 **')
定义两个变量保存⼀个⼈的身⾼和体重,编程实现判断这个⼈的身材是否正常!
公式: 体重(kg) / (身⾼(m)的平⽅值 ) 在18.5 ~ 24.9之间属于正常。
输出格式: 是否正常:True/False
height,weight=map(float,input('请分别输入身高(m),体重(kg)(注意用空格隔开):').split())
if 18.5<=weight/(height**2)<=24.9:
print('True,完美!')
else:
print('False,加油,还有待提高!')
# result=weight/(height**2)
# print('是否正常:',18.5 <= result <= 24.9)
python技巧2:用input( )同时输入多个数