zoukankan      html  css  js  c++  java
  • Python 日常学习

    习惯了java的思想。用java的思想来获取python元组中的数据。结果出错了。

    [python] view plain copy
     
    1. yuanzu_s = ("one", "two", "three", "four",);  
    2. print(yuanzu_s[0]);  
    3. print(len(yuanzu_s));  
    4. print(len(yuanzu_s[0]));  
    5. i = 0;  
    6. for i in yuanzu_s:  
    7.     print(len(yuanzu_s[i]));  

    报一个这样的错误:

    [python] view plain copy
     
    1. Traceback (most recent call last):  
    2.   File "D:USERNetBeansProjectsOnePythonTestsrcOnePythonTest.py", line 65, in <module>  
    3.     print(len(yuanzu_s[i]));  
    4. TypeError: tuple indices must be integers  
    5.    

    纠结一会。在JAVA的思想下,逐个去打印某个数组里的数据。只需拿某个数组的下标即可。

    没料到在python中,既然不行。。

    后来改成了下面的代码 :

    [python] view plain copy
     
    1. yuanzu_s = ("one", "two", "three", "four",);  
    2. print(yuanzu_s[0]);  
    3. print(len(yuanzu_s));  
    4. print(len(yuanzu_s[0]));  
    5. i = 0;  
    6. for i in yuanzu_s:  
    7.     print(i);  

    这样就没有错了。。

    呵呵,完全新手帖,我刚自学python没多久。作一个标记。

    方法1:自定义异常

    [python] view plain copy
     
     print?
    1. # -*- coding:utf-8 -*-  
    2.   
    3. """ 
    4. 功能:python跳出循环 
    5. """  
    6. # 方法1:自定义异常  
    7.   
    8.   
    9. class Getoutofloop(Exception):  
    10.     pass  
    11. try:  
    12.     for i in range(5):  
    13.         for j in range(5):  
    14.             if i == j == 2:  
    15.                 raise Getoutofloop()  
    16.             else:  
    17.                 print i, '----', j  
    18. except Getoutofloop:  
    19.     pass  


    方法2:将循环封装为函数,return

    [python] view plain copy
     
     print?
    1. # -*- coding:utf-8 -*-  
    2.   
    3. """ 
    4. 功能:python跳出循环 
    5. """  
    6. # 方法2:封装为函数,return  
    7.   
    8.   
    9. def test():  
    10.     for i in range(5):  
    11.         for j in range(5):  
    12.             if i == j == 2:  
    13.                 return  
    14.             else:  
    15.                 print i, '----', j  
    16.   
    17. test()  

    方法3:用for...else...语句

    [python] view plain copy
     
     print?
    1. # -*- coding:utf-8 -*-  
    2.   
    3. """ 
    4. 功能:python跳出循环 
    5. """  
    6. # 方法2:for...else...用法,用于跳出指定循环层  
    7.   
    8. for i in range(5):  
    9.     for j in range(5):  
    10.         for k in range(5):  
    11.             if i == j == k == 3:  
    12.                 break  
    13.             else:      
    14.                 print i, '----', j, '----', k  
    15.         else:        # else1  
    16.             continue  
    17.         break        # break1  
    18.     else:            # else2  
    19.         continue  
    20.     break            # break2  

    方法3解释:

    (1)break能跳出某一重循环(该重循环的本次及剩余次数都不再执行),但并不能跳出该重循环的其他外重循环。

    例如,最内第3重循环break之后,程序返回第2重循环继续执行第2重的下一次,然后第3重循环将再次执行。

    (2)continue是跳过某一重循环的某一次,但该重循环的剩余次数会继续执行。

    (3)for...else:其中else块中的语句将在for循环完整执行过之后才会被执行,如果for循环被break,则else块将不会被执行。

    (4)方法3中,当第3重循环满足i == j == k ==3时,第3重循环被break,则并列的else1将跳过,执行break1,导致第2重循环

    被终止,则else2被跳过,执行break2,导致第1重循环被终止。

    最终实现跳出整个循环。

    for...else加break举例

    [python] view plain copy
     
     print?
      1. # -*- coding:utf-8 -*-  
      2.   
      3. """ 
      4. 功能:for...else语句 
      5. """  
      6.   
      7. for i in range(5):  
      8.     print i  
      9. else:  
      10.     print u"循环完整执行一次。"  
      11.   
      12. for j in range(6):  
      13.     for k in range(6):  
      14.         print j, k  
      15.         if j == 3:  
      16.             print u"内重循环即将被break"  
      17.             break  
      18.     else:  
      19.         print u"内重循环完整执行一次。"  
      20. else:  
      21.     print u"外重循环完整执行一次。"  
  • 相关阅读:
    android 75 新闻列表页面
    android 74 下载文本
    android 73 下载图片
    android 72 确定取消对话框,单选对话框,多选对话框
    android 71 ArrayAdapter和SimpleAdapter
    android 70 使用ListView把数据显示至屏幕
    maven如何将本地jar安装到本地仓库
    Centos6.7搭建ISCSI存储服务器
    解决maven打包编译出现File encoding has not been set问题
    MySQL 解决 emoji表情 的方法,使用utf8mb4 字符集(4字节 UTF-8 Unicode 编码)
  • 原文地址:https://www.cnblogs.com/zqyanywn/p/7495662.html
Copyright © 2011-2022 走看看