Crossin的编程教室
标题:
我做了一个小游戏
[打印本页]
作者:
ZZZZZ
时间:
2021-7-24 20:55
标题:
我做了一个小游戏
from random import sample
from easygui import msgbox, enterbox
def guess_and_password(guess, password):
"""
比较guess和password,计算出应print的值
:param guess: 用户输入
:param password: 实际密码
:return: 应print的值
"""
a = 0
b = 0
for i in guess:
if i == password[guess.index(i)]:
a += 1
if i in password and i != password[guess.index(i)]:
b += 1
return f'{a}A{b}B'
def main():
password = ''.join(map(str, sample(range(1, 11), 4)))
msgbox('''
游戏规则:
请你猜一个4位密码,
密码由0-9组成,
不重复。
猜对正确位置上的数字为A,
猜到数字但位置不正确为B。
每次显示答案中A和B的个数。
比如:密码是1234
猜2345,显示0A3B
猜4231,显示2A2B
直到显示4A0B的时候,
游戏胜利。
如果想退出,
就点击“Cancel”。
''')
while True:
guess = enterbox('你猜,密码是几呢?')
if guess is None:
msgbox(f'猜不出来吗?密码是{password}哟!')
break
result = guess_and_password(guess, password)
msgbox(result)
if result == '4A0B':
msgbox('恭喜你,你赢了!')
break
else:
msgbox('不对哦!')
if __name__ == '__main__':
main()
复制代码
注:该程序需在终端/命令行中输入sudo pip3 install easygui/pip install easygui安装easygui库,这可是一个有GUI的程序哦!
本来还想用cpickle库做一个存档机制,但觉得有点复杂,ver1.0就不做了(既然有ver1.0,就一定会有ver2.0的 !至于发布时间嘛……有可能要到下周、下下周,但也可能就在明天)
作者:
crossin先生
时间:
2021-7-24 23:37
可以的
作者:
ZZZZZ
时间:
2021-7-25 11:18
crossin先生 发表于 2021-7-24 23:37
可以的
你难道不觉得每次猜错都会“不对哦”很烦吗
作者:
crossin先生
时间:
2021-7-25 19:07
ZZZZZ 发表于 2021-7-25 11:18
你难道不觉得每次猜错都会“不对哦”很烦吗
那你可以不提示呗
欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/)
Powered by Discuz! X2.5