Python中文
首页
教程
问答
标签
搜索
登录
注册
在两个不同列表中查找同一索引号以比较值的最有效方法
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有以下代码,这是我需要帮助的<strong>登录功能</strong>。我有两个<strong>列表</strong>-<em>用户名和密码</em>。登录功能要求用户输入用户名和密码。如果输入的用户名在“用户名”列表中,并且与“密码”列表中的相同索引号相对应,则返回“已授予访问权限”,否则返回“拒绝”。在</p> <p>出于教学目的,我对两件事感兴趣: a) 使用指定的两个列表对问题进行简单的修复。 b) 关于解决这个问题的最佳方法的建议。(例如字典、2darrays或其他任何东西)。在</p> <p>问题是需要同时迭代两个列表并查找相同的对应索引号。在</p> <p><strong>示例:</strong></p> <p><em>username1 and pass1=已授予访问权限</em> <strong>但是</strong> <em>username1 and pass2=拒绝访问</em></p> <p><strong>代码:</strong></p> <pre><code>usernames=["user1","user2","user3"] passwords=["pass1","pass2","pass3"] def main(): mainmenu() def mainmenu(): print("****MAIN MENU****") print("=======Press L to login :") print("=======Press R to register :") choice1=input() if choice1=="L" or choice1=="l": login() elif choice1=="R" or choice1=="r": register() else: print("please make a valid selection") def login(): print("*****LOGIN SCREEN******") username=input("Username: ") password=input("Password: ") if username in usernames and password in passwords: print("yes") else: print("denied") def register(): print("*****REGISTRATION****") username=input("Enter a username:") password=input("Enter a password:") usernames.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(username) passwords.append(password) answer=input("Do you want to make another registration?") if answer=="y": register() else: registration_details() def registration_details(): print(usernames) print(passwords) main() </code></pre> <p>注意:我知道将列表存储在2d数组中是一个明显的解决方案/建议,但出于教学原因,此修复是必要的-即学生根本没有覆盖数组。首先考虑简单的解决方案,但是stackoverflow用户也会从其他/更有效的方法来解决这个问题的建议中受益。在</p> <p>更新:</p> <p>正如有人在下面评论的那样……我想我应该澄清一下。我知道所需要的是得到列表中所述值的索引号。我的问题是-什么是最好的解决方案,或者一些解决方案。枚举。拉链。只使用for循环?很难知道如何用python开始,因为python不仅仅有一种方法……任何关于哪一种最惯用(pythonic)的注释也会很有用。在</p> <p><strong>最佳答案:</strong></p> <p>这可能是最好的答案,下面由Damian Lattenero提出 下面的缩进,一个常见的错误,是关闭的。有没有可能也只是快速的评论一下为什么?如何修复?在</p> ^{pr2}$ <p><strong>输出</strong></p> <pre><code>*****LOGIN SCREEN****** Username: user3 Password: pass3 invalid username or password invalid username or password correct login >>> </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果你想教python基础。。。在</p> <pre><code>zip(usernames, passwords) </code></pre> <p>导致</p> ^{pr2}$ <p>但你也可以。。。在</p> <pre><code>for (idx, username) in enumerate(usernames): valid_password = passwords[idx] </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
使用Keras处理Tensorflow 2.0负采样的最佳方法
7 回答
使用Keras处理看不见的类
10 回答
使用Keras子类化创建自动编码器模型
2 回答
使用Keras定义CNN架构时出错
7 回答
使用keras实现NARX
4 回答
使用Keras实现NMAE作为度量
9 回答
使用Keras实现Seq2Seq与图像序列
2 回答
使用Keras实现多输入多模式
9 回答
使用Keras实现批量相关的损失
1 回答
使用Keras实现查找函数的最佳参数
2 回答
使用Keras实现的多分类神经网络
7 回答
使用keras对不同大小序列进行时间序列分类
9 回答
使用Keras对单词组合进行评分
9 回答
使用keras对文本数据进行预测
10 回答
使用Keras将二进制模式更改为分类模式时出现“获取值错误”
2 回答
使用keras将图像划分为子部分
8 回答
使用Keras将时间序列数据输入NN
4 回答
使用Keras将自动编码器与时间分布层堆叠时发生断言错误
9 回答
使用keras將兩個CNN串連起來
6 回答
使用Keras层时区分用户定义的变量
8 回答