03_day_02_homework_python

03_day_02_homework_python

一、请写出 and 、or 、not 的作用,并用代码演示

# 1、 and 是且、与 (用于在条件语句中以布尔运算方式来起作用)左右两边,全为 True 才为 True ,第一次出现 False 就停止执行,如全为True 则执行最后一个

a = 99
b = 100

'''
if a < b:
    print('a < b') # print(a < b) 
# a < b #True
# print 输出结果不同,由于,一个做字符串数据类型直接输出,一个做布尔类型数据输出,当然不一样。

'''

'''
if a and b :
    print (a and 0) # 逻辑顺序  1.此为输出为 整型数据类 2.两个数字在 and 作用下 进行布尔运算 执行到0 处停止 3.根据预先设定最先停的的地方,为最终结果0
 # 0 输出为0 ,注意数字做布尔运算,不是 0 就是 True即为真 ,可以被执行。 # 注意0不是 False 
'''

'''
if a and b:
    print (a and b)  
if a and b:
    print(a and b and 111 and 666)
# 100
# 666

'''



# 2、 or 或 首次遇见 True 即结束

if a or b:
    print(0 or a or b or 111)
# 99   # 输出 99




#3、 not 非 (真变假,假变真)
'''
if  not 0:
    print('哥哥最好') 
if  not 1:
    print('娃娃不见了')
# 哥哥最好
'''
# 注意 优先级()not and or  从大到小

'''
if  not False:
    print( not 0) # 布尔运算输出真假 
# True 
if  not False:
    print(1 not 0)  # 语法错误 将布尔类型与 数字类型混在一起。
#SyntaxError: invalid syntax
if  not False:
    print(1 ,not 0) 
    # 1 True  # 完美解决,验证了我的判断
'''

 # 4、 怎样 not or and 一起用呢? 忘记了。
 # 应该是作为 条件判断 连用( and or 用在一起比较多,和not 一起用的老师没有讲,我推测很难三者组合一起用)  


二、判断年份是否闰年(编程题)

输入一年份,判断否否为闰年并输出结果:

​ 注意,凡是符合下面两个条件之一的是闰年:(1)能被4整除但是不能被100整除。(2)能被400整除。

# 输入一年份,判断否否为闰年并输出结果:
input_year = int(input('请输入以年份,我们会帮您判断是否为闰年:'))
if (input_year % 4 == 0 and input_year % 100 != 0) or (input_year % 400 == 0):
    print('您输入的 %d 年份为闰年,祝您好运!' %input_year)
else:
    print('您输入的 %d 年份为平年,祝您开心!' %input_year)
'''
请输入以年份,我们会帮您判断是否为闰年:2020
您输入的 2020 年份为闰年,祝您好运!

'''


三、要求用户输入0-100数字,你能正确打印等级(成绩)

'''
A    90-100
B    80-89
C    60-79
D    40-59
E    0-39
'''
# 要求用户输入0-100数字,你能正确打印等级(成绩)
input_achievement = float(input('请您输入成绩(0-100):'))
if 90 <= input_achievement <=100:
    print('您的 %.1f 成绩对应的等级为: A' %input_achievement  )
elif 80 <= input_achievement <=89:
    print('您的 %.1f 成绩对应的等级为: B' %input_achievement  )
elif 60 <= input_achievement <=79:
    print('您的 %.1f 成绩对应的等级为: c' %input_achievement  )
elif 40 <= input_achievement <=59:
    print('您的 %.1f 成绩对应的等级为: D' %input_achievement  )
elif 0 <= input_achievement <=39:
    print('您的 %.1f 成绩对应的等级为: E' %input_achievement  )
else:
    print('您输入的 %.1f 成绩超出范围,错误!' %input_achievement)
'''
请您输入成绩(0-100):66.6
您的 66.6 成绩对应的等级为: c

'''


四、and 、or 的使用

# 8 or 3 and 4 or 2 and 0 or 9 and 7
8 or 3 and 4 or 2 and 0 or 9 and 7
print(8 or 3 and 4 or 2 and 0 or 9 and 7)
print(8 or (3 and 4) or (2 and 0) or (9 and 7))
# 8
# 8

五、简述为什么要缩进

python 中,在pycharm 中,缩进是强制缩进。优点:简洁,使用空白(代码缩进)来区分代码快结构。避免输入太多的花括号{}如C语言或者关键字begin和end如java

六、银行账户登录系统

实现用户输入用户名和密码,当用户名为你的名字 且 密码是123 时,显示登陆成功,否则登陆失败

#    银行账户登录系统
'''
# 最基础功能
user_name = '郭大帅'
user_password = 123
input_name = input('请输入您的用户名:')
input_password = int(input('请输入您的密码:'))
if input_name == user_name and input_password == user_password:
    print('恭喜您,登陆成功!')
else:
    print('抱歉,登陆失败!')
'''
请输入您的用户名:郭大帅
请输入您的密码:123
恭喜您,登陆成功!
'''
'''

#    升级版功能: 只能输入三次
# 
user_name = '郭大帅'
user_password = 123
i = 0
while i < 3:
    i += 1
    input_name = input('请输入您的用户名:')
    input_password = int(input('请输入您的密码:'))
    if input_name == user_name and input_password == user_password:
        print('恭喜您,登陆成功!')
        break
    else:
        print('抱歉,登陆失败!')
'''
请输入您的用户名:123
请输入您的密码:123
抱歉,登陆失败!
请输入您的用户名:123
请输入您的密码:123
抱歉,登陆失败!
请输入您的用户名:123
请输入您的密码:123
抱歉,登陆失败!

Process finished with exit code 0

'''   
'''
请输入您的用户名:郭大帅
请输入您的密码:123
恭喜您,登陆成功!

Process finished with exit code 0

'''


# 怎么退出界面呢? 忘记了 这样的话,界面上显示出账号与密码,不就暴露了?



七、2 和 3 整除编程题目

从键盘输入一个数,判断这个数是否可以被 2 或者 3 整除,输出要求如下:

  • 该数可以被 2 和 3 整除
  • 该数只能被 2 整除
  • 该数只能被 3 整除
  • 该数不能被 2 或 3 整除
#    2 和 3 整除编程题目 
input_num = int(input('请输入一个整数:'))
if input_num % 2 == 0 and input_num % 3 == 0:
    print('该数 %d 可以被 2 和 3 整除' %input_num)
elif  input_num % 2 == 0 and input_num % 3 != 0:
     print('该数 %d 可以被 2 整除' %input_num)
elif  input_num % 2 != 0 and input_num % 3 == 0:
     print('该数 %d 可以被 3 整除' %input_num)
else:
    print('该数 %d 不可以被 2 和 3 整除' %input_num)
'''
请输入一个整数:126
该数 126 可以被 2 和 3 整除
'''


八、 is 与 == 的区别


# is 充要条件是地址相同, == 的充要条件是 数据相同; 地址相同,数据一定相同,但是数据相同地址不一定相同; is 条件要求更高
# 注意 在python 中 (-5,256) 这些整数值地址预先定下了 ,值相同,地址也就一样了,甚至在pycharm 中,对更多整数值地址预留好了。
# 不确定用 id() 查地址就行
a = 23
b = 23
print(id(a))
print(id(b))
'''
1890981604336
1890981604336      #  预存好的地址,不代表就是固定在电脑,每次运行地址都会变化,但是在一次运行,对于在这次运行中,就是预存好的(固定的)
''' 
'''
2269670894576
2269670894576
'''
print(a is b)
# True 输出

name1 = 'wawa'
name2 = 'wawa'
name3 = name1
print(id(name1))
print(id(name2))
print(id(name3))
print(name1 == name2)
print(name1 is name2)
print(name1 == name3)
print(name1 is name3)
'''
2330592375280
2330592375280
2330592375280
True
True
True
True

'''

'''
1866742371696
1866742371696
1866742371696
True
True
True
True
'''
# 糊涂了 值相同,但是地址不同自己举不出例子

#身份运算符 is    not is
#is:判断两个变量的id地址是否相等
#==:判断的是两个变量的值是否相等
#注意:id不同的情况下,值有可能相同,两块不同的内存空间可以存相同的值
#id相同的情况下,值一定相同 所以 x is y成立,那么x==y也必然成立
# 可以举个例子吗? 值相同,但是地址不同
'''
网友:
建议去看看python的缓存机制
Python 解释器对于数字有个小数字缓存池:-5~257, 原因是:地址数据最少是32位的,现在都是64位了,如果单独为一个小整数创建一个对象,10个地方用到这个小整数,那么就会在内存中创建10个存储的内存地址的空间,地址占用的数据长度比数据本身还大这样非常不划算。而有这个缓存池,python解释器内部就会共享这个小整数对象,不去开内存空间。从而减少内存的使用率,降低浪费。)

字符串也有内存池,给了2k空间,python内部有算法,按照内部权重排列,如果级别高了就把你放入内存。列表、字典都有
'''

九、举例说明格式化字符的 3 种方式

# % 运算符   format()函数  str.format 方法
# %
a = 1234
print(type(a))
b = 'a转化为浮点型为 %f' %a
print('a转化为浮点型为 %f' %a)
print(b)
print(type(b))
'''
<class 'int'>
a转化为浮点型为 1234.000000
a转化为浮点型为 1234.000000
<class 'str'>


# format()函数

print(format(12.2, 'f'))
print(type(format(12.2, 'f')))
#print(format(12.12,'d')) # 错误,格式不一致
print(format(12.12,'f')) 
print(type(format(12.12,'f')))
'''
12.200000
<class 'str'>
12.120000
<class 'str'>

'''

# str.format 

a = '2018年:{2}收入,2019年收入:{0},2020娃娃最棒{1}'.format('100w','哥哥最好','娃娃家')
print(a)
#2018年:娃娃家收入,2019年收入:100w,2020娃娃最棒哥哥最好



十 、查看数据类型的语法是什么?

a = 2
print(type(a))
'''
<class 'int'>
'''

十一、疑问 可以举个例子吗? 值相同,但是地址不同?

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值