人工智能作业 6.23

1、提示用户从键盘上输入一个有效的年份,在屏幕上打印这个年份是否为闰年。
注:凡符合下面两个条件之一的年份是闰年。
(1)能被4整除但不能被100整除。
(2)能被400整除。

while True:
    try:
        year = int(input("请输入一个年份:"))
        if (year % 4) == 0:
            if (year % 100) == 0:
                if (year % 400) == 0:
                    print("%s年是闰年" % year)
                else:
                    print("%s年是平年" % year)
            else:
                print("%s年是闰年")
        else:
            print("%s年是平年")
        break
    except ValueError:
        print("这不是一个有效的年份,请重新输入一个年份!")

2、从键盘输入三个数,输出其最大者。

num1 = float(input('请输入第一个数:'))
num2 = float(input('请输入第二个数:'))
num3 = float(input('请输入第三个数:'))
if num1 < num3 and num2 < num3:
    big_num = num3
elif num1 < num2 and num3 < num2:
    big_num = num2
else:
    big_num = num1
print('三个数中最大数为:%s' % big_num)

3、编程,解决猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。求第一天共摘多少个桃子。

x = 1
for i in range(10, 0, -1):
    print('第%d天的桃子数为%d个' % (i, x))
    x = 2 * (x + 1)

4、输入一串西文字符,分别统计出其中英文大写字母、英文小写字母、空格、数字和其他字符的个数。

lst = list(input('请输入一行字符,可以是任意字符:'))

iLetter = []
ialphas = []
iSpace = []
iNumber = []
iOther = []

for i in range(len(lst)):
    if ord(lst[i]) in range(65, 91):
        iLetter.append(lst[i])
    elif ord(lst[i]) in range(97, 123):
        ialphas.append(lst[i])
    elif lst[i] == ' ':
        iSpace.append(' ')
    elif ord(lst[i]) in range(48, 58):
        iNumber.append(lst[i])
    else:
        iOther.append(lst[i])

print('大写字母个数:%s' % len(iLetter))
print('小写字母个数:%s' % len(ialphas))
print('空格个数:%s' % len(iSpace))
print('数字个数:%s' % len(iNumber))
print('其它字符个数:%s' % len(iOther))

5、从键盘输入一个2-1000之间的整数n,对其进行质因数分解,输出分解后的式子。
例如:输入60,输出60=223*5

while 1:
    print("input a number less than 1000:")
    t=int\
        (input())
    if t<2 or t>999:
        print("wrong number")
    else:
        break
print(t),
print("="),
i=2
while 1:
    if t==i:
        print(i)
        break
    if t%i==0:
        print(i),
        print(" * "),
        t=t/i
    else:
        i+=1

6、利用random标准库,编写程序随机生成20个6位密码,要求密码只能由字母A-Z和数字1-9组成。

import random
txt = "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
ls = list(txt)
for i in range(20):
    secret = ""
    for i in range(6):
        secret += random.choice(ls)
    print(secret)

7、编写函数level,要求可以根据输入的成绩判断其等级。
等级设定:90-100为优秀 80-89为良好 70-79为中等 60-69为及格 小于60为不及格。

n = input('请输入成绩:')
n = eval(n)


def level():
    if 90 <= n <= 100:
        print('优秀')
    elif 80 <= n <= 89:
        print('良好')
    elif 70 <= n <= 79:
        print('中等')
    elif 60 <= n <= 69:
        print('及格')
    else:
        print('不及格')


level()

8、编写函数sumall,要求可以将接收任意多个整数并输出所有整数之和。例如输入2,4,6 则输出12,输入3,5,7,9则输出24。
提示:
nums = tuple(map(int, input(“please input numbers:”).split(‘,’))) #将输入的多个数字转换为元组形式。

num=tuple(map(int, input("请输入任意多个整数(以逗号分隔):").split(',')))


def sum(num):
    s=0
    for i in num:
        s+=i
    return s


print(sum(num))
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值