趣学PYTHON第5章2 none,字符串与数字间的不同

趣学PYTHON第5章2 none,字符串与数字间的不同

1.没有值

myval = None
print(None)
myv = 0
print(myv)
=================== RESTART: C:\Python27\lianxi\2018123.py ===================
None
0

没有变量的值和给0值是不一样的。

myval = None
print(None)
myv = 0
print(myv)
if myv == None:
	print('myv没有值')
if myval == None:
	print('myval没有值')
=================== RESTART: C:\Python27\lianxi\2018123.py ===================
None
0
myval没有值

2.字符串和数字

# -*- coding: utf-8 -*-
"""2018-1-23@author: linda"""
print('your age?')
age = 12
if age > 20:
	print('age ,you are old')
age1 = '12'
if age1 > 20 :
	print('age1,you are old')
=================== RESTART: C:\Python27\lianxi\2018123.py ===================
your age?
Traceback (most recent call last):
  File "C:\Python27\lianxi\2018123.py", line 8, in <module>
    if age1 > 20 :
TypeError: '>' not supported between instances of 'str' and 'int'
告诉你,str和int是不同的。

但是两者可以转换

# -*- coding: utf-8 -*-
"""2018-1-23@author: linda"""
print('your age?')
age = 12
if age > 20:
	print('age ,you are old')
age1 = '21'
convage1= int(age1)
if convage1 > 20 :
	print('convage1,you are old')
加了一行convage1 = int(age1)

把age1  str换成了int

同样可以convage = str(age)

# -*- coding: utf-8 -*-
"""2018-1-23@author: linda"""
print('your age?')
age1 = '12.5'
convage1= int(age1)
if convage1 > 20 :
	print('convage1,you are old')
=================== RESTART: C:\Python27\lianxi\2018123.py ===================
your age?
Traceback (most recent call last):
  File "C:\Python27\lianxi\2018123.py", line 5, in <module>
    convage1= int(age1)
ValueError: invalid literal for int() with base 10: '12.5'
>>> 带小数点的字符串转换会出错。因为12.5是小数,不是整数

修改方法,用float()

convage1= float(age1)
ok 了

age1 = 'ten'
convage1= int(age1)
=================== RESTART: C:\Python27\lianxi\2018123.py ===================
Traceback (most recent call last):
  File "C:\Python27\lianxi\2018123.py", line 4, in <module>
    convage1= int(age1)
ValueError: invalid literal for int() with base 10: 'ten'
>>> 

没有数字的字符串转换为数字也是错的,

课后题

1.

# -*- coding: utf-8 -*-
"""2018-1-23@author: linda"""
print('your money?')
money = 5000

if money < 2000:
	print('you are not rich')
else:
	print('you are rich')

=================== RESTART: C:\Python27\lianxi\2018123.py ===================
your money?
you are rich

2.

print('small cakes?')
cakes = 600

if cakes < 100 or cakes >500:
	print('不是太多就是太少')
elif cakes>100 and cakes <500:
	print('数量合适')

=================== RESTART: C:\Python27\lianxi\2018123.py ===================
small cakes?
不是太多就是太少

3.

print('money?')
money = 2000
if money > 100 and money < 500:
	print('100<money<500')
elif money >1000 and money <5000:
	print('1000<money<5000')

=================== RESTART: C:\Python27\lianxi\2018123.py ===================
money?
1000<money<5000

4.我打得过哪些忍者

ninjas = 20
print('ninjas?')
print(ninjas)
if ninjas < 10:
	print('我打得过那些忍者')
elif ninjas <30:
	print('有点难,但是可以应付')
elif ninjas <50:
	print('太多了')
=================== RESTART: C:\Python27\lianxi\2018123.py ===================
ninjas?
20
有点难,但是可以应付
>>> 

这个题目出的顺序有点问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值