• python学习之list


    list:

    创建:list = [5,7,9]

    取值和改值:list[1] = list[1] * 5

    列表尾插入:list.append(4)

    去掉第0个值并返回第0个值的数值:list.pop(0)

    去掉第0个值但不返回数值:del(list[0])

    去掉具体某个值:list.remove(35)

    函数function:

    无参数:def function():

    一个参数:def function(x):

    2个参数:def function(y):

    任意个参数:def add_function(*args):

    函数range:

     一个参数:range(n)  从第0位开始数n个位

    两个参数:range(m,n) 从第m位开始到第n-1位,递增间隔为1

    三个参数:range(m,n,i) 从第m位开始到第n-1位,递增间隔为i

     for item in list:  和 for i in range(len(list)): 等价

    对list中的元素用separator作为间隔输出: print separator.join(list)

    如: list = ['a','b','c','d']   一般的print list会输出: ['a','b','c','d']。

    而 print " ".join(list) 会输出:a b c d(必须是双的双引号,单的双引号不起作用)

    接受键盘输入:

    guess_row = int(raw_input("Guess Row:"))

    下面是一个自己写的小程序:生成一个方阵和随机的位置,叫玩家猜这个生成的位置是哪里

    from random import randint
    
    def creat_board(length):
        board = []
        for i in range(length):
            board.append(['O'] * length)
        return board
    
    def print_board(x):
        for row in x:
            print " ".join(row)
    
    def random_row(board):
        return randint(0, len(board) - 1)
        
    def random_col(board):
        return randint(0,len(board[0]) - 1)
        
    length = int(raw_input("Enter board's length you:"))
    
    board = creat_board(length)
    
    print_board(board)
    
    turns = int(raw_input("Enter turns you want to play:"))
    
    for turn in range(turns):
        ship_row = random_row(board)
        ship_col = random_col(board)
    
        print "This is " + str(turn + 1) + "th time to guess:"
        guess_row = int(raw_input("Enter the row you guess:"))
        guess_col = int(raw_input("Enter the col you guess:"))
        
        if guess_row == ship_row and guess_col == ship_col:
            print "You win!"
            break
        else:
            if (guess_row < 0 or guess_row > len(board) - 1) or (guess_col < 0 or guess_col > len(board) - 1):
                print "Incorrect input!"
                if turn == turns - 1:
                    print "Turns out!"
            elif board[guess_row][guess_col] == 'X':
                print "You have guessed it already!"
                if turn == turns - 1:
                    print "Turns out!"
            else:
                print "You guess wrong!"
                board[guess_row][guess_col] = 'X'
                print_board(board)
                if turn == turns - 1:
                    print "Turns out!"
        

    曾经犯的错误:

    1.创建board函数忘记返回一个board,所以它一直为空,导致后面的操作都越界了;

    2.生成随机位置的时候,位置row和col的命名一直是跟生成的函数名一样(random_row=random_row(board)),导致TypeError: 'int' object is not callable错误。

  • 相关阅读:
    LeetCode 109 Convert Sorted List to Binary Search Tree
    LeetCode 108 Convert Sorted Array to Binary Search Tree
    LeetCode 107. Binary Tree Level Order Traversal II
    LeetCode 106. Construct Binary Tree from Inorder and Postorder Traversal
    LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal
    LeetCode 103 Binary Tree Zigzag Level Order Traversal
    LeetCode 102. Binary Tree Level Order Traversal
    LeetCode 104. Maximum Depth of Binary Tree
    接口和多态性
    C# 编码规范
  • 原文地址:https://www.cnblogs.com/bangbangjiang/p/3373841.html
Copyright © 2020-2023  润新知