第四章课后练习题

4.1

点击查看代码
#GuessANumMore.py
target = 425
guess = 0
n = 0
while guess != target:
    guess = eval(input("请输入一个猜测的整数(1至1000):"))
    n += 1
    if guess != target:
        if guess > target:
            print("猜大了")
        else:
            print("猜小了")
        print("猜测的次数为:{}".format(n))
    else:
        print("猜对了")
        print("猜测的次数为:{}".format(n))
4.2
点击查看代码
s = input()
letters = 0
digits = 0
spaces = 0
others = 0

for c in s:
    if c.isalpha():
        letters += 1
    elif c.isdigit():
        digits += 1
    elif c == ' ':
        spaces += 1
    else:
        others += 1

print(f"英文字符:{letters}")
print(f"数字:{digits}")
print(f"空格:{spaces}")
print(f"其他字符:{others}")
4.3
点击查看代码
def gcm(a,b):
    while b:
        a = b
        b = a % b
    return a

def lcm(a,b):
    return (a*b)//gcm(a,b)

a = int(input())
b = int(input())
print("{}与{}的最大公约数为{}".format(a,b,gcm(a,b)))
print("{}与{}的最小公倍数为{}".format(a,b,lcm(a,b)))
4.4
点击查看代码
from random import randint
target = randint(1,1000)
guess = 0
while guess != target:
    guess = eval(input("猜一个整数(1~1000):"))
    if guess > target:
        print("大了!")
    elif guess < target:
        print("小了!")
    else:
        print("恭喜你猜对了!")
4.5
点击查看代码
import random as r
target = r.randint(1,1000)
guess = 0
times=0
while guess !=target:
    try:
        guess=int(input('请输入一个猜测的整数(1至1000):'))
        if guess > target:
            print("猜大了")
            times+=1
        elif guess < target:
            print("猜小了")
            times+=1
        else:
            print("猜对了")
            times+=1
    except ValueError:
        print("输入内容必须为整数!")
print("一共猜了{}次.".format(times))
4.6
点击查看代码
year = int(input("请输入年份:"))

if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(f"{year}年是闰年")
else:
print(f"{year}年不是闰年")
4.7
点击查看代码
while True:
    try:
        num = int(input("请输入一个全数字的十进制整数:"))
        break
    except ValueError:
        print("输入不正确,请重新输入。")
4.8
点击查看代码
num  = input("请输入一个带有小数点的浮点数:")
def is_float(num):
    if '.' in num:
        return True
    else:
        return False

while True:

        if not is_float(num):
            num = input("输入有误,请重新输入一个带有小数点的浮点数:")
        else:
            try:
                num == float(num)
                print("浮点数为:", num)
                break
            except ValueError:
                 num = input("输入有误,请重新输入一个带有小数点的浮点数:")
posted @ 2025-04-07 23:12  兜雨  阅读(39)  评论(0)    收藏  举报