4.2 使用列表

当你第一次开始编程时,很容易会创建许多独立的变量,来保存一组类似的值。
例如,如果要保存我的猫的名字,可能会写出这样的代码:
catName1  =  'Zophie' catName2  =  'Pooka' catName3  =  'Simon' catName4  =  'Lady  Macbeth' 
catName5  =  'Fat-tail' catName6  =  'Miss  Cleo'

事实表明这是一种不好的编程方式。举一个例子,如果猫的数目发生改变,程序就不得不增加变量,来保存更多的猫。这种类型的程序也有很多重复或几乎相等的代码。考虑下面的程序中有多少重复代码,在文本编辑器中输入它
并保存为allMyCats1.py:
print('Enter  the  name  of  cat  1:') catName1  =  input()
print('Enter  the  name  of  cat  2:') catName2  =  input()
print('Enter  the  name  of  cat  3:')

catName3  =  input()
print('Enter  the  name  of  cat  4:') catName4  =  input()
print('Enter  the  name  of  cat  5:') catName5  =  input()
print('Enter  the  name  of  cat  6:') catName6  =  input()
print('The  cat  names  are:')
print(catName1  +  '  '  +  catName2  +  '  '  +  catName3  +  '  '  +  catName4  +  '  '  + 
catName5  +  '  '  +  catName6)
不必使用多个重复的变量,你可以使用单个变量,包含一个列表值。例如,下面是新的改进版本的 allMyCats1.py 
程序。这个新版本使用了一个列表,可以保存用户输入的任意多的猫。在新的文件编辑器窗口中,输入以下代码并保存为 allMyCats2.py。
catNames  =  [] while  True:
print('Enter  the  name  of  cat  '  +  str(len(catNames)  +  1)  + '  (Or  enter  nothing  to  
stop.):')
name  =  input() if  name  ==  '':
break
catNames  =  catNames  +  [name]  #  list  concatenation print('The  cat  names  are:')
for  name  in  catNames: print('  '  +  name)
运行这个程序,输出看起来像这样:
Enter  the  name  of  cat  1  (Or  enter  nothing  to  stop.):
Zophie
Enter  the  name  of  cat  2  (Or  enter  nothing  to  stop.):
Pooka
Enter  the  name  of  cat  3  (Or  enter  nothing  to  stop.):
Simon
Enter  the  name  of  cat  4  (Or  enter  nothing  to  stop.):
Lady  Macbeth
Enter  the  name  of  cat  5  (Or  enter  nothing  to  stop.):
Fat-tail
Enter  the  name  of  cat  6  (Or  enter  nothing  to  stop.):
Miss  Cleo
Enter  the  name  of  cat  7  (Or  enter  nothing  to  stop.):

The  cat  names  are:
Zophie
Pooka Simon
Lady  Macbeth Fat-tail Miss  Cleo
使用列表的好处在于,现在数据放在一个结构中,所以程序能够更灵活的处理数据,比放在一些重复的变量中方便。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大飞哥软件自习室

希望支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值