请帮助不熟悉python的人(3x)

2024-06-10 15:35:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python新手。这是我的第一种编程语言,我很难理解人们认为简单的东西(可能是这样)。至少我觉得自己很蠢。我可以用一些指针来说明我所坚持的东西。基本上我需要做的是创建一个程序,它将创建一个文本文件,其中包含10个绿色瓶子的单词。在

def kevin():
    file = open('greenbottles.txt','a')
    file.write(a)
    file.close()

def skinner():
    kevin('rabbits\n')

skinner()

这就是我到目前为止创建并写入文本文件的方法。(根据我所看到和读到的内容,该文件应该与Python文件所在的目录相同。我注意到有时候它不会出现?)当我打开文件时,它应该有兔子在里面写,\n意味着强制创建一个新行。在

我需要做的是用列表和变量在文本文件中写下这首歌的歌词。另外,大部分歌曲应该在一个循环中创建(我认为while循环是最好的)。如果有人能给我一些指点,教我如何加上一节诗,我将不胜感激。在

"Ten green bottles
Hanging on the wall
Ten green bottles
Hanging on the wall
And if one green bottle
Should accidentally fall
There'll be nine green bottles
Hanging on the wall"

其中一段经文。在

我期待的是一个包含文字的文本文件。kevin和{}就是我给这些函数命名的,这样我可以更好地理解它;它们可以被任意调用。在


Tags: 文件theondefgreen编程语言file文本文件
3条回答

下面是一些代码,可以解开这个问题的基本算法。而不是完全按照你的要求,它将只是打印一些我选择的随机格式的歌词。要理解这段代码,您必须理解列表、for循环、迭代和输出。现在,您的工作是理解代码并使其执行您希望它执行的操作,即输出到文件中。如果你在理解代码方面有什么困难,尽管问。在

这并不能完全回答您的提示,但由于您的问题基本上只是“如何”循环并创建歌曲的诗句,所以我想用列表、for循环和字符串来做一个简单的演示。在

numbers = [
'Zero',
'One',
'Two',
'Three',
'Four',
'Five',
'Six',
'Seven',
'Eight',
'Nine',
'Ten' ]

text_one = 'green bottles hanging on the wall'
text_two = 'And if one green bottle should accidentally fall\nThere\'ll be'

# Each iteration of this loop prints one verse of the song
for i in range(10, 0, -1):
    print(numbers[i], text_one)
    print(numbers[i], text_one)
    print(text_two, numbers[i-1], text_one)

所以

我可以看出你是新来的,我可以告诉你的一个主要方法是你的函数名没有任何意义!!编程的一个主要方面是给函数/对象起一个好名字,它可以帮助人们解决堆栈溢出问题。凯文和格林不是有用的名字。在

在这个主题上,制作两个green()[不知道它的名字应该做什么。。。也许开放会是个更好的名字?还是写的?]函数不允许同时使用它们。如果有必要,请说出一个green1和另一个green2。在

现在,就你的计划而言,我认为这样做的总体思路是:

  • 有一个名为bottlext(i)的函数,其中i是一个整数。瓶装文本以字符串的形式返回诗句。您可能还希望导入一个函数,在该函数中可以将整数转换为数字或自己编写helper函数。在
  • 创建一个调用green()函数的循环,并将文本写入文件。实际上,我将函数改为green(str),并使str成为要写的文本。在

这有道理吗?如果你有任何问题,随时发表意见。在

首先,Python对如何划分空间很挑剔。在本例中,您实际上需要缩进定义函数“green”的代码块。例如:

def green():
    file = open('greenbottles.txt','a')
    file.write(a)
    file.close()

我不知道为什么文件不会出现,除非你忘记关闭文件,或者你对你所在的目录没有足够的写入权限。现在,代码的第二部分重新定义了green函数。如果你想使用你的绿色函数,那么你不需要“def”。如果你想在文本中插入变量,你可以这样“插值”它们:

^{pr2}$

相关问题 更多 >