最近开始学习python,机器上配置的python 2和python 3都有,打算主学python 3,8过,python 3由于其时间限制性,教程不多,目前跟着麻省理工的一个课程学习,在学习过程中碰到的一些python 2和python 3的问题在这里记录下来。
【问题一】
整型除法返回值的问题
python 2中整型除法返回的仍然是整型,python 3中返回的是浮点数,若要返回的是整型,可以int强制转换,也可以用//
例子:
1 num=int(input("Please input a figure:"))
2 if (num//2)*2 == num:
3 print("even number")
4 else:
5 print("basic number")
若在python 2中,第2行只需要用if (num/2)*2==num即可
def init(data):
data['first']={}
data['middle']={}
data['last']={}
def lookup(data,label,name):
return data[label].get(name)
def store(data,full_name):
names=full_name.split()
if len(names)==2:
names.insert(1,' ')
labels='first','middle','last'
for name,label in zip(names,labels):
people=lookup(data,label,name)
if people:
people.append(full_name)
else:
data[label][name]=[full_name]
myname={}
init(myname)
store(myname,'peng lei jun')
#lookup(myname,'middle','lei')
print(myname)