用户名、ID、密码,无法识别出问题所在

2024-10-04 09:25:25 发布

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

我想创建一个“登录”系统,所以您可以通过Input创建一个用户名,然后给用户名一个ID(介于1和x之间)。用户名和ID将存储在文档“tomtdokument.txt”中(挪威语)

我的想法是,然后可能将ID放入另一个带有密码的文档中,该密码也将由Input选择。然而,我们还没有接近这一步。这是我的一般想法,但我很难将用户名添加到ID中

我不确定该怎么办,因为我不确定问题是什么,没有错误代码。因此,代码没有问题,但它不会实现其目的,也不会在文件中写入用户名

无论如何,我的代码如下所示,我假设问题在while循环中,可能在if语句中:

import random

username = str(input("Username please: "))
ran = random.randint(1, 10)
ran = str(ran)
print(ran)

f = open("tomtdokument.txt", "w")

start_number = 1
amount_lines = 10

while amount_lines >= start_number:
    z = str(start_number) + "\n"
    f.write(z)
    if start_number == ran:
        f.write(ran + username)
    start_number += 1

f.close()

Tags: 代码文档txtid密码numberinputif
2条回答

当你写作时: z = str(start_number) + "\n" 您不会在任何地方添加用户名。我想这就是你想要的 您必须连接用户和id,然后将它们写入文件

我有两条建议给你。

首先 我不太明白你想要做什么,但我只是从你的代码中更改了这个: 这更像是Python式的

z = f'{str(start_number)}{username}\n' # u can change order if you want, put username firts, whatever.

写了一个我认为适合你想做的代码。 测试一下

import sys
import random

def save_user(username):
   file = open('tomtdokument.txt', 'a')
   file.write(username)
   file.close()

def main():
   username_in = str(input('Please, type your username or 0 for exit: '))
   if username_in == '0': sys.exit() # this line is to end the execution of the program
   random_id = random.randrange(1,10)
   username = "{}{}\n".format(username_in, str(random_id))
   save_user(username)

if __name__ == '__main__':
   while True:
      main()
  

如果您有更多问题,可以向他们提问

您正在尝试比较start_number这是一个整数和ran是字符串:

if start_number == ran:

尝试这样做:

while amount_lines >= start_number:
    z = str(start_number) + "\n"
    if str(start_number) == ran:
        f.write(ran + " " + username + "\n")
    else:
        f.write(z)
    start_number += 1

相关问题 更多 >