python-問題整理

1、SyntaxError: invalid syntax

print("一個簡單的猜數(shù)游戲")

temp=input()

if temp=8:

????print("猜中了")

else:

????print("猜錯了")

運行是有問題的,提示語法錯誤,因為if語句后面不能賦值

2、程序正常運行,但是運行結(jié)果錯誤,原因是數(shù)據(jù)類型不對

如果改成if temp==8,那么運行就沒有問題了,但是輸入8,運行后會提示猜錯了

因為我們輸入的temp默認(rèn)是一個字符串的類型,字符串不等于數(shù)字

我們需要轉(zhuǎn)化為int類型,然后再進(jìn)行判斷

print("一個簡單的猜數(shù)游戲")

temp=input()

guess=int(temp)

if guess==8:

????print("猜中了")

else:

????print("猜錯了")

3、程序不斷的重復(fù)打印“太多啦”或者“太少啦”,原因是上面的變量沒有在while循環(huán)里聲明過

print("抓鴨子")

sen=input("抓幾只:")

sen1=int(sen)

while sen1 !=8:

????if sen1==8:

????????print("抓到啦")

????else:

????????if 0<=sen1<8:

????????????print("太少啦")

????????else:

????????????print("太多啦")

print("下次再來玩")

如果while語句里面,沒有再聲明變量的話,會出現(xiàn)問題,因為sen1被賦予了一個固定的值,需要在while循環(huán)里,重新聲明一下

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("下次再來玩")

另外,如果想要限制一下猜測的次數(shù),要加一個參數(shù)i進(jìn)行計數(shù),每執(zhí)行一次while循環(huán),就+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'

這里標(biāo)點符號寫錯了,導(dǎo)致報錯,一般來說就是普通函數(shù)沒有參數(shù)導(dǎo)致的

5、IndentationError: expected an indented block

縮進(jìn)有問題導(dǎo)致的報錯

6、最終的程序

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容