Python基础练习题:猜数字小游戏

枫铃3年前 (2021-09-30)Python244

直接上源码了

lst = []
# 使用range函数生成一个含有数字1-10的列表
correct = list(range(1,11))
i = 0
while i < 9:
    data = input('看看你的运气怎么样,请猜一个1-10之间的数字,你有9次猜数的机会!:')
    # isdigit判断是不是一个自然数,replace用于替换,以下replace的作用是把用户输入的小数和负数都变成自然数。
    if data.replace(".", '').replace('-','').isdigit():
        # count判断用户输入了几个小数点
        if data.count(".") == 0:
            data = int(data)
            if 1 <= data <= 10 and data not in lst:
                i += 1
                # remove用于从correct列表中删除用户输入的字符
                correct.remove(data)
                # append用于把用户输入的data
                lst.append(data)
                print('你猜得的不对,在猜猜!')
            elif data in lst:
                print('这个数字你输入过了,你这么快就忘了呀')
            elif data < 0:
                print('你输入了一个负数你造吗!!')
            else:
                print('你确定你输入的是一到十之间的一个数字嘛。')
        elif data.count(".") == 1:
            print('你干嘛输入一个小数')
        else:
            print('你输入的是软件版本号还是日期呀,怎么有不止一个小数点')
    else:
        print("输入一个1~10数字的数字不要输入字符")
# pop和remove的作用差不多,但区别是pop删除列表中的东西后会把删除的东西作为返回符返回。
# 在这里也可以使用遍历的方法去拿出最后一个用户没输入过的值
data = correct.pop()
print('正确号码是:',data, '看来今天又是被生活蹂躏的一天')

上面是一个皮皮虾版本,如果需要一个简化版,可以将那些多余的判断都删了,具体方法如下

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
correct = list(range(1,11))
lst = []
i = 0
while i < 9:
    data = input('看看你的运气怎么样,请猜一个1-10之间的数字,你有9次猜数的机会!:')
    # isdigit判断是不是一个自然数,replace用于替换,以下replace的作用是把用户输入的小数和负数都变成自然数。
    if data.isdigit():
        data = int(data)
        if 1 <= data <= 10 and data not in lst:
            i += 1
            # remove用于从correct列表中删除用户输入的字符
            correct.remove(data)
            # append用于把用户输入的data
            lst.append(data)
            print('你猜得的不对,在猜猜!')
        elif data in lst:
            print('这个数字你输入过了')
    else:
        print("输入不符合要求")
 # pop和remove的作用差不多,但区别是pop删除列表中的东西后会把删除的东西作为返回符返回。
 # 在这里也可以使用遍历的方法去拿出最后一个用户没输入过的值
data = correct.pop()
print('正确号码是:',data, '看来今天又是被生活蹂躏的一天')

相关文章

Python with as 用法

With语句是什么? 有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的wi...

Python教程:多变量的灵活处理

今天就和大家介绍一个最基...

python 各层级目录下的import方法

以前经常使用python2.现在很多东西都切换到了python3,发现很多东西还是存在一些差异化的。跨目录import是常用的一种方法ÿ...

Python itertools 操作迭代对象

Python 的内建模块...

不要再问我Python2和Python3的Unicode 问题啦!

写在之前 字符编码问题几乎是会跟随我们整个编程生涯的一大魔障,一不小心各种玄学的问题就会接踵而至,防不胜防,尤其是...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。