【问题标题】:I have syntax error on my code and I don't know what the problem is?我的代码有语法错误,我不知道问题是什么?
【发布时间】:2021-01-12 17:46:32
【问题描述】:

问:“询问用户他们想输入多少个数字。让他们输入这么多数字并将它们写入一个文本文件。每个数字必须在单独的行上。”我不知道错误是什么

user = int(input("how many numbers to enter"))
file = open("file1.txt" , "a")
for x in range(user):
    number = input("Enter number" + str(user + 1) + "\n")
    file.writelines(user+"\n")  
file.close()

【问题讨论】:

  • 我没有看到任何错误,你要告诉我们问题是什么吗?
  • user 变量在其声明之前使用,`` 不应在file.close() 之后
  • user 是如何声明的?它是什么类型的?
  • 错误是 str(? +1) + "\n") 和 file.writelines(user+"\n")
  • @BeginnerCod3r 而不是猜测并让我们猜测,而是显示带有跟踪的完整错误,编辑到问题中。

标签: python for-loop file-handling


【解决方案1】:

通过阅读练习顺序,我发现您已经接近答案,并认为这就是您想要的。

user = int(input("How many numbers you want to enter?\n"))
file = open("file1.txt", "w")
for x in range(user):
    number = input("Enter number " + str(x + 1) + ":\n")
    file.writelines(str(x) + "\n")
file.close()

【讨论】:

    【解决方案2】:

    我相信您使用的是 user 变量而不是 x 变量。固定代码:

    user = int(input("how many numbers to enter"))
    with open("file1.txt" , "a") as file:
        for x in range(user):
            number = input("Enter number " + str(x + 1) + "\n")
            file.writelines(user + "\n")  
    

    【讨论】:

      【解决方案3】:

      您忘记在行上添加用户变量

      file.writelines(user+"\n")  
      

      您忘记将 int 转换为字符串。

      file.writelines(str(user)+"\n")
      

      请注意,您的代码只是将用户编号写入“用户”次。

      这是适合我的编辑代码:

      user = 5 #number of users
      file = open("file1.txt" , "a")
      for x in range(user): #loop every user
          number = input("Enter number" + str(x + 1) + "\n") #Use "str()"" to convert number, called int, to a string 
          file.writelines(str(user) + "\n") 
      file.close()
      

      【讨论】:

        【解决方案4】:

        尽管我不清楚您的问题,但我想这就是您所期望的。

        user_input = int(input("how many numbers to enter:"))
        with open("file1.txt" , "w") as output_file:
            for x in range(user_input):
                number = input("Enter number" + f'{x + 1}:' + "\n")
                print(number, file=output_file)
        

        由于print函数本身是换行,所以可以省略添加新行。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-11-24
          • 1970-01-01
          • 2014-09-22
          • 1970-01-01
          • 1970-01-01
          • 2019-11-12
          • 1970-01-01
          相关资源
          最近更新 更多