首页 > 解决方案 > 为什么这段代码运行正确?(python 全局关键字)

问题描述

我是一个新手......并且正在研究global关键字。此代码创建一个随机字符串。

我认为第 8 行string.append(word[x])在此代码上出错,因为string是全局变量,所以必须是 requiredglobal关键字。(全局字符串)

但是这段代码运行正常...为什么可以正常运行...?

import random
word = 'a b c d e f g h i j k l m n o p q r s t u v w x y z'.split(" ")
string = []
n = int(input())

def get(leng) :
    for i in range (0, leng) :
        x = random.randint(0, len(word)-1)
        string.append(word[x])
    sen = ''.join(string)
    return sen

print(get(n))

标签: pythonpython-3.xglobal-variablesglobal

解决方案


乍一看,您的代码似乎没有任何问题,尽管对您想要发生的事情或错误不是很清楚,但是在中get(),您的列表string不需要分配为全局变量,除非您想重新- 定义变量。如果出于某种原因,您决定string在函数内声明或任何变量,则需要更改其范围。


推荐阅读