猜我心中的数字,比如 2020 (if else语句)
temp = input("不妨猜一下我心中所想的数字:")
guess = int(temp)
if guess == 2020:
print("你是我心里的蛔虫")
print("你好厉害呀,和我想到一起了!")
else:
print("猜错啦,我心中的数字是2020!")
print("游戏结束,不玩啦!祝您身体健康^_^")
不妨猜一下我心中所想的数字:9
猜错啦,我心中的数字是2020!
游戏结束,不玩啦!祝您身体健康^_^
如果不成功,请注意:1.除中文汉字外,其它是否英文格式下输入 2. 缩进是否正确 3.函数名是否错误(查询目前函数名采用dir(__builtins__))
改进1.当猜出某数据时,给出大小判断,比如猜88,比2020小,提示“猜小啦”(嵌套语句)
temp = input("不妨猜一下我心中所想的数字:")
guess = int(temp)
if guess == 2020:
print("你是我心里的蛔虫")
print("你好厉害呀,和我想到一起了!")
else:
if guess < 2020:
print("猜小啦,加油!")
else:
print("猜大了,加油!")
print("游戏结束,不玩啦!祝您身体健康^_^")
不妨猜一下我心中所想的数字:88
猜小啦,加油!
游戏结束,不玩啦!祝您身体健康^_^
改进2.给多次猜测机会(循环语句)
最多猜测3次
counts = 3
while counts > 0:
temp = input("不妨猜一下我心中所想的数字:")
guess = int(temp)
if guess == 2020:
print("你是我心里的蛔虫")
print("你好厉害呀,和我想到一起了!")
else:
if guess < 2020:
print("猜小啦,加油!")
else:
print("猜大了,加油!")
counts = counts - 1
print("游戏结束,不玩啦!祝您身体健康^_^")
不妨猜一下我心中所想的数字:99
猜小啦,加油!
不妨猜一下我心中所想的数字:9999
猜大了,加油!
不妨猜一下我心中所想的数字:888
猜小啦,加油!
游戏结束,不玩啦!祝您身体健康^_^
操作时同样需要注意英文输入,函数是否正确,尤其注意缩进,如果counts = counts -1 与print对齐了,则只有 guess>2020猜三次才会停止。
改进3. 上述代码如果一次猜测正确,则会一直执行,不会停止。要求猜对即停止猜测,猜错最多三次。
不妨猜一下我心中所想的数字:2020
你是我心里的蛔虫
你好厉害呀,和我想到一起了!
不妨猜一下我心中所想的数字:2020
你是我心里的蛔虫
你好厉害呀,和我想到一起了!
不妨猜一下我心中所想的数字:2020
你是我心里的蛔虫
你好厉害呀,和我想到一起了!
不妨猜一下我心中所想的数字:2020
你是我心里的蛔虫
你好厉害呀,和我想到一起了!
counts = 3
while counts > 0:
temp = input("不妨猜一下我心中所想的数字:")
guess = int(temp)
if guess == 2020:
print("你是我心里的蛔虫")
print("你好厉害呀,和我想到一起了!")
counts = 0
else:
if guess < 2020:
print("猜小啦,加油!")
else:
print("猜大了,加油!")
counts = counts - 1
print("游戏结束,不玩啦!祝您身体健康^_^")
不妨猜一下我心中所想的数字:2020
你是我心里的蛔虫
你好厉害呀,和我想到一起了!
游戏结束,不玩啦!祝您身体健康^_^
还可以在 counts =0 处,用 break ,同样可以得到该结果。
改进4. 防止串通,答案为随机数的情况,猜数字(引入生成伪随机数)
import random
counts = 3
answer = random.randint(1000,3000) #Tab快捷补齐函数名,随机生成1000~3000的随机数
while counts > 0:
temp = input("不妨猜一下我心中所想的数字:")
guess = int(temp)
if guess == answer:
print("你是我心里的蛔虫")
print("你好厉害呀,和我想到一起了!")
continue
else:
if guess < answer:
print("猜小啦,加油!")
else:
print("猜大了,加油!")
counts = counts - 1
print("游戏结束,不玩啦!祝您身体健康^_^")
注意要先导入random模块, 采用 import random (如果不清楚可输入 random?或random??获得帮助)
不妨猜一下我心中所想的数字:2345
猜大了,加油!
不妨猜一下我心中所想的数字:1343
猜大了,加油!
不妨猜一下我心中所想的数字:1000
猜小啦,加油!
游戏结束,不玩啦!祝您身体健康^_^
%reset 表示清除前面所有内存(当操作较多,符号容易混淆时可采用)
补充知识:设定种子,重复随机数
%config InteractiveShell.ast_node_interactivity = 'all' #不用print可输出多行结果,不设置时默认为’last’
import random
x=random.getstate() #设施种子
random.randint(10,20)
random.randint(10,20)
random.randint(10,20) #设置生成三个10~20的随机数
random.setstate(x) #采用初始设定的种子,重复随机数
random.randint(10,20)
random.randint(10,20)
random.randint(10,20) #得到和刚才一样的三个随机数
运行结果为:
17
10
16
17
10
16