# 4.1
target= 777
guess= 0
GuessTimes= 0
while guess!= target:
guess=eval(input("请输入一个猜测的整数(1-1000):"))
if guess>target:
print("猜大了")
GuessTimes=GuessTimes+1
elif guess<target:
print("猜小了")
GuessTimes=GuessTimes+1
else:
GuessTimes=GuessTimes+1
print(f"猜对了,且你的猜测次数一共为:{GuessTimes}")
# 4.2
a=input("请输入一行字符:")
letter=0
number=0
space=0
others=0
for s in a:
if s.isalpha():
letter+=1
elif s.isspace():
space+=1
elif s.isdigit():
number+=1
else:
others+=1
print(f"英文字符、数字字符、空格字符、其它字符分别共有:{letter},{number},{space},{others}个")
#4.3
a,b=int(eval(input("请输入两个整数(记得用逗号隔开,大在前,小在后): ")))
e=a
f=b
GCD,LCM=0,0
if a%b==0:
GCD=b
LCM=a
else:
c=a%b
while c!=0:
a=b
b=c
c=a%b
GCD=b
LCM=(e*f)/GCD
print(f"两个整数的最大公约数和最小公倍数分别为:{GCD}、{LCM}")
#4.4
import random
k=random.randint(0,1000)
guess= 0
GuessTimes= 0
while guess!=k:
guess=eval(input("请输入一个猜测的整数(1-1000):"))
if guess>k:
print("猜大了")
GuessTimes=GuessTimes+1
elif guess<k:
print("猜小了")
GuessTimes=GuessTimes+1
else:
GuessTimes=GuessTimes+1
print(f"猜对了,且你的猜测次数一共为:{GuessTimes}")
#4.5
def hanshu():
import random
k=random.randint(0,1000)
guess= 0
GuessTimes= 0
while guess!=k:
try:
guess=eval(input("请输入一个猜测的整数(1-1000):"))
if guess>k:
print("猜大了")
GuessTimes=GuessTimes+1
elif guess<k:
print("猜小了")
GuessTimes=GuessTimes+1
else:
GuessTimes=GuessTimes+1
print(f"猜对了,且你的猜测次数一共为:{GuessTimes}")
except :
print("输入内容必须为整数!,请重新输入")
hanshu()
#4.6
year=eval(input("请输入一个年份:"))
if (year%4==0 and year%100 !=0)or year%400==0:
print(f"{year}为闰年")
else:
print(f"{year}不是闰年")
#4.7
while 1:
num=input("请输入一个全为数字的十进制整数: ")
if num.isdigit():
a=int(num)
print(a)
break
else:
print("输入不符合规定,请重新输入")
#4.8
while True:
s = input("请输入小数:")
if '.' in s and s.replace('.','',1).lstrip('-').isdigit(): break
print("必须输入标准小数格式!")
print(f"您输入的是:{float(s)}")