target = 425
guess = 0
cishu = 0
while guess != target:
guess = eval(input('請輸入一個猜測的整數(1至1000):'))
if guess > target:
print('猜大了')
cishu = cishu + 1
print("已猜測的次數為{}".format(cishu))
elif guess < target:
print('猜小了')
cishu = cishu + 1
print("已猜測的次數為{}".format(cishu))
else:
print('猜對了')
print("猜測的總次數為{}".format(cishu))
習題4.2
zhifuchuan = input("請輸入你想要的字符串:")
kong = 0
num = 0
zhongwen = 0
yingwen = 0
qita = 0
for i in zhifuchuan:
if i == " ":
kong += 1
elif '0'<= i <= '9':
num += 1
elif i >= u'\u4e00' and i <= u'\u9fa5':
zhongwen += 1
elif True == i.isalpha():
yingwen += 1
else:
qita += 1
print("輸入的字符串中有{}個空格,{}個數字,{}個中文,{}個英文字符,{}個其他字符".format(kong,num,zhongwen,yingwen,qita))
習題4.3
a,b = eval(input("請輸入兩個整數,中間用,隔開:"))
c= a*b
if a<b:
a,b=b,a
while False == (a in [0,1]):
b,a=a,b%a
c=c/b
print("最小公約數為:{},最大公倍數為:{}".format(b,c))
習題4.4
GuessANum.py
import random
num = random.randint(0,1000)
guess = 0
cishu = 0
while guess != num:
guess = eval(input('請輸入一個猜測的整數(1至1000):'))
if guess > num:
print('猜大了')
cishu = cishu + 1
print("已猜測的次數為{}".format(cishu))
elif guess < num:
print('猜小了')
cishu = cishu + 1
print("已猜測的次數為{}".format(cishu))
else:
print('猜對了')
print("猜測的總次數為{}".format(cishu))
習題4.5
GuessANum.py
import random
num = random.randint(0,1000)
cishu = 0
while 1:
try:
guess = eval(input('請輸入一個猜測的整數(1至1000):'))
if guess > num:
print('猜大了')
cishu = cishu + 1
print("已猜測的次數為{}".format(cishu))
elif guess < num:
print('猜小了')
cishu = cishu + 1
print("已猜測的次數為{}".format(cishu))
elif guess == num:
print('猜對了')
print("猜測的總次數為{}".format(cishu))
break
else:
print("輸入內容必須為整數!")
except:
print("輸入有誤!")
習題4.6
nianfen = eval(input("請輸入年份:"))
if nianfen % 4==0:
if nianfen % 100 != 0 or nianfen %400 ==0:
print("{}年是閏年".format(nianfen))
else:
print("{}年不是閏年".format(nianfen))
else:
print("{}年不是閏年".format(nianfen))
習題4.7
try:
while 1:
zhengsu = eval(input("請輸入一個全為數字的十進制整數:"))
print("輸入成功")
break
except:
print("輸入錯誤,請重新輸入。")
習題4.8
try:
while 1:
Fudiansu = float(input("請輸入一個帶有小數點的浮點數:"))
print("輸入成功")
break
except:
print("輸入錯誤,請重新輸入。")
浙公網安備 33010602011771號