第四章课后习题

4.1

GuessANum.py

target=425
guess=0
count=0
while guess!=target:
guess=eval(input('请输入一个猜测的整数(1-1000)😂)
count += 1
if guess>target:
print('猜大了')
elif guess<target:
print('猜小了')
else:
print("猜对了,总共猜了{}次".format(count))

4.2
s = input("请输入一行字符:")
letters = 0
digits = 0
spaces = 0
others = 0
for char in s:
if char.isalpha():
letters +=1
elif char.isdigit():
digits += 1
elif char.isspace():
spaces += 1
else:
others += 1
print(f"英文字符:{letters}个")
print(f"数字:{digits}个")
print(f"空格:{spaces}个")
print(f"其他字符:{others}个")

4.3
a = int(input("😊)
b = int(input("😊)
def gcd(a,b):
while b != 0:
a,b = b,a%b
return a
def lcm(a,b):
return abs(a*b)//gcd(a,b)
print(f"最大公约数:{gcd(a,b)}")
print(f"最小公倍数:{lcm(a,b)}")

4.4
import random
target=random.randint(0,1000)
guess=0
count=0
while guess!=target:
guess=eval(input('请输入一个猜测的整数(1-1000)😂)
count += 1
if guess>target:
print('猜大了')
elif guess<target:
print('猜小了')
else:
print("猜对了,总共猜了{}次".format(count))

4.5
import random
target=random.randint(0,1000)
count = 0
print("请输入一个0~1000的整数")
while True:
while True:
try:
guess = int(input("请输入你的猜测:"))
break
except ValueError:
print("输入内容必须为整数!请重新输入:")

count += 1
if guess>target:
    print('猜大了')
elif guess<target:
    print('猜小了')
else:
    print("猜对了,总共猜了{}次".format(count))  
    break

4.6
try:
year=int(input("请输入一个年份:"))
if (year%4000) or (year%40 and year%100 !=0):
print(f"{year}年是闰年")
else:
print(f"{year}年不是闰年")
except ValueError:
print("输入错误")

4.7
while True:
user_input=input("请输入一个十进制的全数字整数:")
if user_input.isdigit():
print("输入正确")
break
else:
print("输入无效")

4.8
import re
while True:
user_input = input("请输入一个浮点数(必须包含小数点):")
if re.fullmatch(r'[1]?\d+.\d+$', user_input):
num = float(user_input)
print(f"输入正确!您输入的浮点数是:{num}")
break
else:
print("输入无效!必须为带小数点的浮点数,且不能使用科学计数法。")


  1. +- ↩︎

posted @ 2025-04-01 14:43  鳞*  阅读(24)  评论(0)    收藏  举报