统计学研硕大数据统计练手02

统计学Python练手作业02


AI绘图仅供娱乐AI绘图仅供欣赏

题目

设计一个猜数游戏。首先由计算机产生一个[1,100]之间的随机整数,然后由用户猜测所产生的随机数。根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won !”,游戏结束。用户最多可以猜7次,如果7次均未猜中,则显示“You lost !”,并给出正确答案,游戏结束。游戏结束后,询问用户是否继续游戏,选择“Y”则开始一轮新的猜数游戏;选择“N”则退出游戏。


以下仅供参考,欢迎指正,共同探讨。

一、程序

代码如下(示例):

chose = 'Y'  # 定义用户是否游戏
while chose == 'Y' or chose == 'y':  # 不区分Y和y
    import random  # 导入随机模块

    num = random.randint(1, 100)  # 随机数
    count = 0  # 计次
    while True:
        count += 1
        cs = int(input("请猜一个数:"))  # 定义用户猜的数
        if cs > num:
            print("High")  # 如猜测的数大于产生的数,则显示“High”
        elif cs < num:
            print("Low")  # 如猜测的数小于产生的数,则显示“Low”
        else:
            print("You won !")  # 如猜测的数等于产生的数,则显示“You won !”
            break
        print("您共猜{}次。".format(count))  # 提示共猜了多少次
        if count >= 7:
            print("You lost !")  # 如果7次均未猜中,则显示“You lost !”
            print(num)  # 给出正确答案
            break
    chose = input("是否继续游戏?选择“Y”则开始一轮新的猜数游戏;选择“N”则退出游戏。")
    while chose != 'Y' and chose != 'y' and chose != 'N' and chose != 'n':  # 不是Y(y)或N(n)提示重新输入
        print('输入有误,请重新输入:', end='')
        chose = input()

二、结果

代码如下(示例):

请猜一个数:10
Low
您共猜1次。
请猜一个数:22
Low
您共猜2次。
请猜一个数:33
High
您共猜3次。
请猜一个数:44
High
您共猜4次。
请猜一个数:66
High
您共猜5次。
请猜一个数:15
Low
您共猜6次。
请猜一个数:22
Low
您共猜7次。
You lost !
30
是否继续游戏?选择“Y”则开始一轮新的猜数游戏;选择“N”则退出游戏。l
输入有误,请重新输入:k
输入有误,请重新输入:y
请猜一个数:55
High
您共猜1次。
请猜一个数:35
High
您共猜2次。
请猜一个数:25
High
您共猜3次。
请猜一个数:15
High
您共猜4次。
请猜一个数:5
Low
您共猜5次。
请猜一个数:8
Low
您共猜6次。
请猜一个数:10
Low
您共猜7次。
You lost !
11
是否继续游戏?选择“Y”则开始一轮新的猜数游戏;选择“N”则退出游戏。y
请猜一个数:33
Low
您共猜1次。
请猜一个数:55
Low
您共猜2次。
请猜一个数:88
High
您共猜3次。
请猜一个数:66
Low
您共猜4次。
请猜一个数:77
High
您共猜5次。
请猜一个数:70
Low
您共猜6次。
请猜一个数:75
Low
您共猜7次。
You lost !
76
是否继续游戏?选择“Y”则开始一轮新的猜数游戏;选择“N”则退出游戏。y
请猜一个数:55
High
您共猜1次。
请猜一个数:35
High
您共猜2次。
请猜一个数:15
High
您共猜3次。
请猜一个数:5
Low
您共猜4次。
请猜一个数:10
High
您共猜5次。
请猜一个数:8
You won !
是否继续游戏?选择“Y”则开始一轮新的猜数游戏;选择“N”则退出游戏。n

总结

经典数字游戏编程,借鉴较多思路,花了两天空闲时间完善优化了一些步骤。
看似简单,如果每步都做到准确,还是有难度的。

import random主要用于生成随机数,大部分都会用,但是一般人都是使用randint()帮我们生成某个范围的整数,但其实random模块还有很多非常使用的功能供我们使用,具体在CSDN知识树里学习,不做累述。

例如,以下是一个简单的random模块调用示例:

import random
num = random.randint(1, 100)
print(num)

while循环基本结构。while循环由关键字while、一个条件表达式和一个代码块组成。当条件表达式为True时,代码块将被执行,直到条件表达式变为False为止。
条件表达式。条件表达式是while循环的关键部分,它定义了循环的终止条件。当条件表达式的值为True时,循环体会被执行;否则,循环会停止。
循环体。循环体是包含要执行的代码块的while循环的一部分。您可以在循环体中执行任何需要的操作,例如读取用户输入、计算值或执行其他计算。
break和continue语句。breakcontinue是两个常用的控制流语句,它们可以用于中断或跳过while循环的执行。break语句用于完全停止循环的执行,而continue语句用于跳过当前循环的剩余部分并继续下一次循环。
避免死循环。死循环是指无限循环,即循环条件永远不会变为False,导致程序无法终止。为了避免死循环,您应该确保条件表达式的值最终会变为False。在编写while循环时,请注意检查条件表达式的逻辑。

例如,以下是一个简单的while循环示例:

i = 0

while i < 5:

print(i)

i += 1

这个例子会输出0到4这五个数字,因为当i小于5时,会一直执行打印操作,直到i等于5为止。

if elsifif else 是两种不同的条件判断语句,它们的主要区别在于是否允许同时处理多个条件以及它们的执行顺序。

if elsif
if elsif 语句用于在多个条件中寻找一个满足的条件,然后执行相应的代码块。它可以包含多个 elsif 子句,每个子句都代表一个独立的条件。如果第一个条件不满足,程序将继续尝试下一个 elsif 子句,直到找到一个满足条件的为止。如果所有条件都不满足,那么不会执行任何代码块。
if else
if else 语句用于在两个条件中选择一个满足的条件。你需要指定一个 if 条件和一个 else 条件。如果 if 条件满足,则执行第一个代码块;否则,执行 else 代码块。这个语句通常用来实现单分支的选择结构。
总得来说,if elsif 语句适用于需要在多个可能性之间做出选择的场景,而 if else 语句则是用于二选一决策的情况。在实际应用中,应根据需要选择合适的语句来满足编程需求。

例如,以下是一个简单的if elsif循环示例:

if n > 10:
  print(n)
elsif n < 10:
  print("错误")
elsif n == 10:
  print("错误")

例如,以下是一个简单的if else循环示例:

if n > 10:
  print(n)
else:
  print("错误")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值