Hướng dẫn how do i store multiple string values in python? - làm cách nào để lưu trữ nhiều giá trị chuỗi trong python?

Tôi có một câu lệnh IF và khác cho mỗi người dùng được cho là sử dụng mã của tôi để đảm bảo họ là chính họ. Tôi đang tự hỏi nếu có một cách hiệu quả hơn để làm điều đó. Những gì tôi muốn mã trông giống như dòng 2 đến 7 Tuy nhiên, hiện tại tôi phải làm cho nó trông giống như dòng 9 - 14 thay thế. Có cách nào tôi có thể làm cho dòng 2 đến 7 hoạt động không?

Tôi đã cố gắng tách từng người dùng bằng một câu lệnh nếu và khác kiểm tra xem người dùng có tồn tại không và nếu họ nhận được mật khẩu được gán cho người dùng đó đúng không. Tôi cũng đã cố gắng sử dụng chức năng danh sách để lưu trữ nhiều người dùng khác nhau làm một biến để nếu chương trình phát hiện bất kỳ người dùng nào, nó sẽ chuyển chúng sang bước tiếp theo, tuy nhiên khi tôi thực hiện chương trình từ chối nhận ra bất kỳ phần tử nào của danh sách là cá nhân. Ví dụ: trong dòng 2 của mã Không người dùng nào được công nhận. Người dùng Blake chỉ được nhận ra nếu tôi tách nó ra nếu khác khối.

user_name = input ("Hello, user please enter your username!")
if user_name == ["Jake", "Bake"]:
    Password = input("Please enter your password %s" %user_name)
    if Password == ["hello", "notem"]:
        print ("Welcome back %s" %user_name)
    else:
        print ("You are an imposter! Begone!!")
else:
    if user_name == ("Bake"):
        Password = input("Please enter your password %s" %user_name)
        if Password == ("hell"):
           print ("Welcome back %s" %user_name)
        else:
            print ("You are an imposter! Begone!!")  

Ra khỏi dòng 2 đến 7 Tôi hy vọng rằng tôi có thể nhập Jake hoặc thậm chí Blake để có được câu hỏi về mật khẩu. Sau đó, một khi tôi đặt tương ứng và chỉ mật khẩu tương ứng thì tôi sẽ nhận được một sự chào đón trở lại (mà tên người dùng mà tôi đã chọn để đi với). Trong thực tế, chương trình sẽ từ bỏ tôi ngay khi tôi đặt bất kỳ tên người dùng nào vì dường như chương trình không biết cách tiến hành từ dấu nhắc tên người dùng.

Đã hỏi ngày 22 tháng 6 năm 2019 lúc 9:04Jun 22, 2019 at 9:04

Hướng dẫn how do i store multiple string values in python? - làm cách nào để lưu trữ nhiều giá trị chuỗi trong python?

if user_name == ["Jake", "Bake"]:

Kiểm tra xem user_name có bằng danh sách ["Jake", "Bake"] hay không.

Nếu bạn muốn kiểm tra kiểm tra xem tên có trong danh sách hay không, hãy sử dụng từ khóa in:

if user_name in ["Jake", "Bake"]:

Đã trả lời ngày 22 tháng 6 năm 2019 lúc 9:12Jun 22, 2019 at 9:12

DSCDSCDSC

1.1437 huy hiệu bạc21 Huy hiệu đồng7 silver badges21 bronze badges

1

Vấn đề của bạn là chương trình kiểm tra xem tên người dùng có phải là danh sách ["Jake", "Bake"] không và mật khẩu là danh sách ["hello", "notem"].

Mã chính xác là:

if user_name == ["Jake", "Bake"]:
0

Chỉnh sửa: Bạn quên xử lý trường hợp mà tên người dùng không phải là Jake hay nướng.

Đã trả lời ngày 22 tháng 6 năm 2019 lúc 9:14Jun 22, 2019 at 9:14

Bogdan doicinbogdan doicinBogdan Doicin

2.2725 huy hiệu vàng26 Huy hiệu bạc32 Huy hiệu đồng5 gold badges26 silver badges32 bronze badges

4

Như @DSC đã chỉ ra trước đó: Những gì bạn đã kiểm tra trong câu lệnh IF của mình là liệu đầu vào được đưa ra bởi người dùng có phải là một danh sách hay không. Thay vào đó, những gì bạn nên kiểm tra là liệu đầu vào được đưa ra bởi người dùng có phải là một đối tượng bên trong danh sách hay không.
What you've checked in your if statement is whether or not the input given by the user is a list in itself.
Instead what you should be checking is whether the input given by the user is an object inside the list.

Ngoài ra, lưu ý bằng cách sử dụng từ điển để giữ {'tên người dùng': 'mật khẩu'} Khóa: Các giá trị sẽ hữu ích để khớp tên người dùng với mật khẩu của người dùng chính xác, trong trường hợp nhiều người dùng.

users = {'Jake':'hello','Bake':'notem'}

user_name = input ("Hello, Please enter your username: ")

if user_name in users: #Checks whether user exists
    Password = input("Please enter your password %s" %user_name)
    if Password == users[user_name]: #Check for that particular user's password.
        print("Welcome back %s" %user_name)
    else:
        print("You are an imposter! Begone!!")
else:
    print('Sorry, That username doesn't exist.')

Không phải là cách an toàn nhất để đi về, vì nó cho những kẻ tấn công tiềm năng chính xác những gì họ đã sai (tên người dùng/mật khẩu), nhưng nên thực hiện công việc của bạn.

Ngoài ra, hãy kiểm tra điều này, sẽ giúp bạn có thêm một vài bước phía trước.

Đã trả lời ngày 22 tháng 6 năm 2019 lúc 9:32Jun 22, 2019 at 9:32

Hướng dẫn how do i store multiple string values in python? - làm cách nào để lưu trữ nhiều giá trị chuỗi trong python?

Giả sử rằng bạn muốn kiểm tra tên người dùng và mật khẩu tương ứng với tên người dùng đó, Python cung cấp cấu trúc gọi là từ điển. Có thể điều này sẽ hữu ích cho bạn.

userPass = {"Jake": "Hello", "Bake": 'notem'} #dictonary named userPass, "username": "Password"

user_name = input ("Hello, user please enter your username!")
Password = input("Please enter your password %s" %user_name)

if userPass[user_name] == Password:  #userPass[user_name] will return password defined in dictonary
    print ("Welcome back %s" %user_name)
else:
    print ("You are an imposter! Begone!!")

Đã trả lời ngày 22 tháng 6 năm 2019 lúc 9:21Jun 22, 2019 at 9:21

Hướng dẫn how do i store multiple string values in python? - làm cách nào để lưu trữ nhiều giá trị chuỗi trong python?

Harshil Shahharshil ShahHarshil Shah

1421 Huy hiệu vàng3 Huy hiệu bạc13 Huy hiệu đồng1 gold badge3 silver badges13 bronze badges

2

Làm cách nào để lưu trữ nhiều chuỗi trong Python?

Chúng ta có thể làm điều này theo nhiều cách ...
append () chúng ta có thể nối các giá trị vào cuối danh sách. Chúng tôi sử dụng phương thức append () cho điều này. ....
Chèn () bạn có thể chèn các giá trị trong danh sách với phương thức chèn (). Ở đây, bạn chỉ định một giá trị để chèn tại một vị trí cụ thể. ....
Mở rộng () mở rộng () có thể thêm nhiều mục vào danh sách. Tìm hiểu bằng ví dụ:.

Làm thế nào để bạn gán nhiều giá trị chuỗi cho một biến trong Python?

Python gán các giá trị từ phải sang trái.Khi gán nhiều biến trong một dòng, các tên biến khác nhau được cung cấp cho bên trái của toán tử gán được phân tách bằng dấu phẩy.Điều tương tự cũng xảy ra với các giá trị tương ứng của họ ngoại trừ chúng phải ở bên phải của toán tử chuyển nhượng.different variable names are provided to the left of the assignment operator separated by a comma. The same goes for their respective values except they should be to the right of the assignment operator.

Làm thế nào để tôi lưu trữ nhiều giá trị trong một biến python?

Overview..
Giải thích danh sách là gì ..
Tạo và chỉ mục danh sách các giá trị đơn giản ..
Thay đổi các giá trị của các yếu tố riêng lẻ ..
Nối các giá trị vào một danh sách hiện có ..
Sắp xếp lại và cắt lát các yếu tố danh sách ..
Tạo và thao tác danh sách lồng nhau ..

Làm thế nào để bạn lưu trữ một chuỗi trong danh sách Python?

5.1 Biến một chuỗi thành một danh sách..
Tạo một danh sách trống được gọi là my_list ..
Mở một vòng lặp cho biến được khai báo "Xin chào" trong các trích dẫn ..
Sử dụng từ khóa Char làm biến vòng lặp.....
Sử dụng thuộc tính Phụ lục được tích hợp trong tất cả Danh sách Python để thêm char ở cuối danh sách ..
Khi vòng lặp kết thúc, danh sách cuối cùng được in ..