p121:
*題4.1:猜數字游戲。在程序中預設一個0~9之間的整數,讓用戶通過鍵盤輸入所猜的數,如果大於預設的數,顯示“遺憾,太大了!”;小於預設的數,顯示“遺憾,太小了!”,如此循環,直至猜中該數,顯示“預測N次,你猜中了!”,其中N是用戶輸入數字的次數。
源代碼:
from random import*
y=5
n=1
m=False
while(m==False):
x=eval(input("請輸入您猜想的數字:"))
try:
if(x>y):
print("遺憾!太大了!")
n+=1
m=False
elif(x<y):
print("遺憾!太小了!")
n+=1
m=False
else:
print("預測{}次,你猜中了!".format(n))
m=True
except NameError :
print("請輸入一個整數!")
except:
print("其他錯誤!")
運行結果:
*題4.2:統計不同字符個數。用戶從鍵盤輸入一行字符,編寫一個程序,統計並輸出其中的英文字符、數字、空格和其他字符的個數。
源代碼:
x1,x2,x3,x4=0,0,0,0#數字x1,英文x2,空格x3,其他x4
s=input("請任意輸入一段字符:")
l=len(s)
i=0
try:
while(i<l):
if(0<=ord(s[i])<32):
x4=x4+1
i+=1
elif(ord(s[i])==32):
x3+=1
i+=1
elif(32<ord(s[i])<48):
x4=x4+1
i+=1
elif(47<ord(s[i])<58):
x1+=1
i+=1
elif(57<ord(s[i])<65):
x4=x4+1
i+=1
elif(64<ord(s[i])<91):
x2=x2+1
i+=1
elif(90<ord(s[i])<97):
x4=x4+1
i+=1
elif(96<ord(s[i])<123):
x2=x2+1
i+=1
elif(122<ord(s[i])<128):
x4=x4+1
i+=1
print("數字有{},字母有:{},空格有:{},其他有:{}".format(x1,x2,x3,x4))
except:
print("未知錯誤!")
運行結果:
*題4.4:猜數字游戲續。改編程序練習題4.1,讓計算機能夠隨機產生一個預設數字,范圍在0~100之間,其他游戲規則不變。
源代碼:
from random import*
y=randint(0,100)
n=1
m=False
while(m==False):
x=eval(input("請輸入您猜想的數字:"))
try:
if(x>y):
print("遺憾!太大了!")
n+=1
m=False
elif(x<y):
print("遺憾!太小了!")
n+=1
m=False
else:
print("預測{}次,你猜中了!".format(n))
m=True
except NameError :
print("請輸入一個整數!")
except:
print("其他錯誤!")
運行結果: