如何使用 Python 3 的条件语句实现游戏的随机谜题部分
在日常操作或是项目的实际应用中,有不少朋友对于“Python3条件控制怎样写,怎样用于实现猜数游戏”的问题会存在疑惑,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。 if语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 Python 中 if 语句的一般形式如下所示: if condition_1: statement_block_1 这种if语句只有在符合条件的时候才会执行代码块内的代码,是一种比较常见的用法。 另一种常见的用法是: if condition_1: statement_block_1 else: statement_block_2 这种语句是一种常用的if-else语句,通常用于二分支结构的条件语句代码。 在一些时候,我们可能需要多分支的条件语句代码,可以在if-else语句中混合elif语句进行使用: Python 中用 elif 代替了else if,所以if语句的关键字为:if – elif – else。 if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_block_3 使用第一种常用的if语句搭配合适的条件可以实现第二种和第三种语句的全部效果,但在执行效率和代码可读性上会变得比较糟糕。 注意: 1、每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块。 2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。 3、在 Python 中没有 switch – case 语句,但在python3.10中添加了用法类似的match-case语句。 match-case语句(python3.10新特性) 在其他语言(比如说经典的C语言)中有一种多分支条件判断语句,可以进行模式匹配(通俗的讲,就是将传入的内容跟多个已存在的样例进行比较,找到相同的案例并按照该案例的代码进行处理,如果没有相同案例就按默认案例进行处理,可以查看其他编程语言的条件语句的Switch相关部分内容进行比较参考)。在python3.10中也引入了这样的新特性。 match-case语句的结构一般如下所示: match variable: #这里的variable是需要判断的内容 case ["quit"]: statement_block_1 # 对应案例的执行代码,当variable="quit"时执行statement_block_1 case ["go", direction]: statement_block_2 case ["drop", *objects]: statement_block_3 ... # 其他的case语句 case _: #如果上面的case语句没有命中,则执行这个代码块,类似于Switch的default statement_block_default 一个match语句的使用示例: def http_error(status): match status: case 400: return "Bad request" case 404: return "Not found" case 418: return "I'm a teapot" case _: return "Something's wrong with the Internet" 上述代码等价于: def http_error(status): if status == 400: return "Bad request" elif status == 404: return "Not found" elif status == 418: return "I'm a teapot" else: return "Something's wrong with the Internet" 关于模式匹配还有更多的用法,可以参考PEP636进行详细的学习。 实例 以下实例演示了狗的年龄计算判断: age = int(input("Age of the dog: ")) print() if age < 0: print("This can hardly be true!") elif age == 1: print("about 14 human years") elif age == 2: print("about 22 human years") elif age > 2: human = 22 + (age -2)*5 print("Human years: ", human) ### input('press Return>') 尝试一下 将以上脚本保存在 dog.py 文件中,并执行该脚本: python dog.py Age of the dog: 1 about 14 human years 只要返回结果为布尔型(true或者false)的,都可以作为if的条件,所以在之前的集合等内容中涉及到的判断元素是否在集合中的in和not in,都可以作为if的条件。 实例 # 程序演示了 == 操作符 # 使用数字 print(5 == 6) # 使用变量 x = 5 y = 8 print(x == y) 尝试一下 以上实例输出结果: False False 使用in和not in作为判断条件: thisset = set(("Google", "W3Cschool", "Taobao")) if "W3Cschool" in thisset: print("该元素在列表中") if "baidu" not in thisset: print("该元素不在列表中") 尝试一下 运行结果如下: 该元素在列表中 该元素不在列表中 以下示例使用if语句来实现一个猜数字游戏(建议在本地环境尝试): #!/usr/bin/python3 # 该实例演示了数字猜谜游戏 number = 7 guess = -1 print("猜数字!") while guess != number: guess = int(input("请输入你要猜的数字")) if guess == number: print("你猜中了,真厉害!") elif guess < number: print("猜小了,再猜猜?") elif guess > number: print("猜大了,在猜猜?") “Python3条件控制怎样写,怎样用于实现猜数游戏”的内容就介绍到这里了,感谢大家的阅读。 (编辑:银川站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |