160
习题4.1
target = 425
guess = 0
F = 1
while guess != target:
guess = eval(input("请输入一个猜测的整数(1至1000):"))
if guess > target:
print("猜大了")
F += 1
elif guess < target:
print("猜小了")
F += 1
else:
print("猜对了")
print("猜测次数是{:.0f}".format(F))
习题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
from random import *
number = randint(0,1000)
guess = 0
F = 1
while guess != number:
guess = eval(input("请输入一个猜测的整数(1至1000):"))
if guess != int(guess):
print("输入错误,请输入一个整数!")
else:
if guess > number:
print("猜大了")
F += 1
elif guess < number:
print("猜小了")
F += 1
else:
print("猜对了")
print("猜测次数是{:.0f}".format(F))
习题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
def input_float(prompt):
while True:
try:
num = float(input(prompt))
if num.is_integer():
print("输入错误,请输入非整数的小数!")
else:
return num
except ValueError:
print("输入错误,请输入小数!")
print(input_float("请输入小数:"))
浙公网安备 33010602011771号