python-问题整理

1、SyntaxError: invalid syntax

print("一个简单的猜数游戏")

temp=input()

if temp=8:

    print("猜中了")

else:

    print("猜错了")

运行是有问题的,提示语法错误,因为if语句后面不能赋值

2、程序正常运行,但是运行结果错误,原因是数据类型不对

如果改成if temp==8,那么运行就没有问题了,但是输入8,运行后会提示猜错了

因为我们输入的temp默认是一个字符串的类型,字符串不等于数字

我们需要转化为int类型,然后再进行判断

print("一个简单的猜数游戏")

temp=input()

guess=int(temp)

if guess==8:

    print("猜中了")

else:

    print("猜错了")

3、程序不断的重复打印“太多啦”或者“太少啦”,原因是上面的变量没有在while循环里声明过

print("抓鸭子")

sen=input("抓几只:")

sen1=int(sen)

while sen1 !=8:

    if sen1==8:

        print("抓到啦")

    else:

        if 0<=sen1<8:

            print("太少啦")

        else:

            print("太多啦")

print("下次再来玩")

如果while语句里面,没有再声明变量的话,会出现问题,因为sen1被赋予了一个固定的值,需要在while循环里,重新声明一下

print("抓鸭子")

sen=input("抓几只:")

sen1=int(sen)

while sen1 !=8:

    sen =input("重新抓:")

    sen1 =int(sen)

if sen1==8:

    print("抓到啦")

else:

    if 0<=sen1<8:

        print("太少啦")

    else:

        print("太多啦")

print("下次再来玩")

另外,如果想要限制一下猜测的次数,要加一个参数i进行计数,每执行一次while循环,就+1

print("抓鸭子")

sen=input("抓几只:")

sen1=int(sen)

i=0

while i<3 and sen1 !=8:

    i=i+1

    sen = input("猜错啦。重新抓:")

    sen1 = int(sen)

    if sen1==8:

        print("抓到啦")

    else:

        if 0<=sen1<8:

            print("太少啦")

        else:

            print("太多啦")

print("下次再来玩")

4、TypeError: randint() missing 1 required positional argument: 'b'

这里标点符号写错了,导致报错,一般来说就是普通函数没有参数导致的

5、IndentationError: expected an indented block

缩进有问题导致的报错

6、最终的程序

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容