# 4.1 4.4 4.5 4.7(思路相同)
import random
while True:
try:
min, max = eval(input("请输入猜数的范围【用逗号隔开】:"))
if min < max:
if min - int(min) == 0:
if max - int(max) == 0:
break
else:
print("请输入整数猜数范围!")
else:
print("请输入整数猜数范围!")
else:
print("请正确输入范围值!")
except:
print("请按格式重新输入猜数范围!")
n = random.randint(min, max)
pred = 0
while True:
try:
m = eval(input("请输入所猜的整数({}~{}):".format(min, max)))
if m - int(m) == 0:
if min <= m <= max:
pred = pred + 1
if m > n:
print("遗憾,太大了!")
max = m - 1
elif m < n:
print("遗憾,太小了!")
min = m + 1
else:
break
else:
print("请输入范围内的整数!")
else:
print("请输入整数!")
except:
print("请不要输入其他符号,正确输入数字!")
print("预测{}次,你猜对了!".format(pred))
# 4.2
m = input("请输入一行字符:")
eng, num, space, others = 0, 0, 0, 0
for i in range(len(m)):
if 'a' <= m[i] <= 'z' or 'A' <= m[i] <= 'Z':
eng += 1
elif '0' <= m[i] <= '9':
num += 1
elif m[i] == ' ':
space += 1
else:
others += 1
print("英文字符:{}个,数字:{}个,空格:{}个,其他:{}个。".format(eng, num, space, others))
# 4.3
a, b = eval(input("请输入两个正整数(用逗号隔开):"))
if b > a:
ma = b
b = a
a = ma
m, n = a, b
while n != 0:
n, m = m % n, n
print("{}和{}的最大公约数是{:.0f}".format(a, b, m))
print("{}和{}的最小公倍数是{:.0f}".format(a, b, a * b / m))
# 4.6
import random
count1, count2 = 0, 0
for i in range(100000):
car = random.randint(1, 3)
one = random.randint(1, 3)
sheep = random.randint(1, 3)
while sheep == car or sheep == one:
sheep = random.randint(1, 3)
if one == car:
count1 += 1
two = random.randint(1, 3)
while two == sheep or two == one:
two = random.randint(1, 3)
if two == car:
count2 += 1
print("坚持选择,获胜机率{:.2f}%".format(count1/1000))
print("改变选择,获胜机率{:.2f}%".format(count2/1000))
# 4.1 4.4 4.5 4.7(思路相同)import randomwhile True: try: min, max = eval(input("请输入猜数的范围【用逗号隔开】:")) if min < max: if min - int(min) == 0: if max - int(max) == 0: break el.