Cec*_*erd -1 python list-comprehension
我对 Python 还很陌生,但我越来越痴迷于尽可能缩短我的代码,但我不知道如何用我的这段代码来做到这一点。是否可以使用列表理解来缩短以下代码?另外,我如何编辑我的代码,以便空格和缩进在堆栈溢出时正确显示?
user_input = input("Please guess a number: ")
correct_number_list = [4,5,7,1]
if user_input[0] in correct_number_list and user_input[1] in correct_number_list\
and user_input[2] in correct_number_list and user_input[3] in correct_number_list :
in_range = True
else:
in_range = False
Run Code Online (Sandbox Code Playgroud)
这只是代码的一小部分,但它伤害了我的眼睛,因为我知道必须有更好的方法来编写它。在我的原始代码中,我随机生成 4 个随机数并将它们存储在列表中并让用户猜测这些数字。任何有关如何缩短此代码的帮助或建议,即使它与列表理解无关,也会很棒。先感谢您
in_range = all(x in correct_number_list for x in user_input)
Run Code Online (Sandbox Code Playgroud)
请注意,与您的原始代码类似,这不会正确检查结果,因为如果玩家正确得到其中一位数字并将其用于猜测数字的所有数字,则玩家获胜。
另外,如果您生成的数字input()是一个列表str,则与数字的比较将始终是,例如如果您这样做:Falseint
correct_number_list = [4,5,7,1]
Run Code Online (Sandbox Code Playgroud)
相反,您可以对字符串中的字符进行排序,然后检查字符串是否匹配:
correct_number_list = [4,5,7,1]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |