Python作业

编写程序求100到999之间的水仙花数。(水仙花数:对于一个三位数abc,a3+b3+c^3=abc)

for i in range(100,1000):
    c = i%10
    b = i//10%10
    a = i//100
    if a**3 + b**3 + c**3 == i:
        print(i)

在这里插入图片描述
编写程序解决爱因斯坦台阶问题:有人走一台阶(台阶<1000级),若以每步走两级则最后剩下一级;若每步走三级则剩两级;若每步走四级则剩三级;若每步走五级则剩四级;若每步走六级则剩五级;若每步走七级则刚好不剩。问台阶至少共有多少级?

for x in range(1,1000):
    if x%2==1 and x%3==2 and x%4==3 and x%5==4 and x%6==5 and x%7==0:
        print("台阶至少有",x,"级")
        break

在这里插入图片描述

编写程序用Print语句输出2000年至2500年间的所有闰年,要求每行输出8个。

list = []
for i in range(2000, 2501):
    if i % 4 == 0 and i % 100 != 0 or i % 400 == 0:
        list.append(i)
for i in range(len(list)):
    print(list[i],end=' ')
    if (i + 1) % 8 == 0:
        print()

在这里插入图片描述

编写一个程序,从键盘输入一批整数,输出其中的最大最小值,输入数字0结束。

list = []
while True:
    x = int(input("请输入数字:"))
    if x == 0:
        break
    else:
        list.append(x)
print(list)
print("最大元素为:", max(list),"最小元素为:", min(list))

在这里插入图片描述
编写一个程序,求1到10之间的奇数之和及偶数之积。要求:奇数之和存放在变量S中,偶数之积存放在变量N中。

S = 0
for i in range(1,11,2):
    S = S + i
print(S)
N = 1
for j in range(2,11,2):
    N = N * j
print(N)

在这里插入图片描述
编一个程序求S=1+(1+2)+(1+2+3)+…+(1+2+3+4+…10)之和。

s = 0
for i in range(1,11):
    for j in range(1,i+1):
        s = s + j
print(s)

在这里插入图片描述

从控制台输入一个整数n,打印斐波那契数列的前n项。(斐波那契数列的特点是:从第三个数开始,每个数的值是其前两个数之和,如:1 1 2 3 5 8 13 21…)。

n = int(input("请输入一个整数:"))
a,b = 0,1
list = [0,1]
for i in range(n):
    a,b = b,a+b
    list.append(b)
print(list)

在这里插入图片描述
编一个程序求S=1+2+3+…+n之和。(用while 和for循环两种方法实现)。
while循环:

x = int(input("请输入一个数:"))
s = 0
while x > 0:
    s = s + x
    x = x - 1
print(s)

for循环:

x = int(input("请输入一个数:"))
s = 0
for i in range(1,x + 1):
    s = s + i
print(s)

在这里插入图片描述

中华人民共和国居民身份证号码由17 位数字和1位校验码组成。其中,前6位为所在地编号,第7~14 位为出生年月日,第15~17位为登记流水号,其中第17位偶数为女性,奇数为男性。校验码的生成规则如下:
将前面的身份证号码17位数分别乘以不同的系数。第1~17位的系数分别为: 7,9,10,5,8 4,2,1,6,3,7,9,10,5,8,4,2,将这17 位数字和系数相乘的结果相加,用相加的结果与11求模,余数结果只可能是0,1,2,3,4,5,6,7,8,9,10这11个数字,它们分别对应的最后一位身份证的号码为1,0,x,9,8,7,6,5,4,3,2。例如,如果余数是2,最后一位数字就是罗马数字x,如果余数是10,则身份证的最后一位就是2。
请设计程序实现输入18位身份证号,辨别其真伪。若为真,则进一步判断性别: 若不是18位或身份证号非法,则提示重新输入。
提示:定义如下两个元组,对输入字符串进行遍历。
factor=(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2)
last=(“1”,“O”,“x”,“9”,“8”,“7”,“6”,“5”,“4”,“3”,“2”)
例如:某男性的身份证号码是34052419800101001X。我们要看看这个身份证是不是合法的身份证。
首先:我们计算37+49+010+55+…+1*2,前17位的乘积和是189
然后:用189除以11得出的结果是商17余2
最后:通过对应规则就可以知道余数2对应的数字是x。所以,这是一个合格的身份证号码。

factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
last = [1, 0, 'x', 9, 8, 7, 6, 5, 4, 3, 2]
while 1:
    id_num = input('输入身份证号码:')
    if len(id_num) == 18:
        count = 0
        for i in range(17):
            count += int(id_num[i]) * factor[i]
        last_num = last[count%11]
        if (id_num[17].lower() == last_num) or int(id_num[17]) == last_num:
            print("身份证合法")
            if int(id_num[16]) % 2:
                print("性别:男")
                break
            else:
                print("性别:女")
                break
        else:
            print("身份证不合法,请重新输入")
    else:
        print("输入不合法,请重新输入")

在这里插入图片描述
在这里插入图片描述

在控制台输出如图所示一个8层的杨辉三角。
杨辉三角介绍:
每个数等于它上方两数之和
每行数字左右对称,由1开始逐渐变大
第n行的数字有n项,将n取8
在这里插入图片描述

n=8
print("[1]")
print("[1, 1]")
bbq = [[1],[1,1]]
for i in range(2,n):
    b = bbq[-1]
    q = [1] * (i+1)
    for j in range(i//2):
        q[j+1] = b[j]+b[j+1]
        if i != 2j:
            q[-j-2] = q[j+1]
    bbq.append(q)
    print(q)

统计英文儿歌《twinkle twinkle little star》中,使用到的单词及其出现次数。要求去除单词大小写的影响,不统计标点符号的个数,并按降序输出。
Twinkle, twinkle, little star,
How I wonder what you are!
Up above the world so high,
Like a diamond in the sky.
Twinkle, twinkle, little star,
How I wonder what you are!
When the blazing sun is gone,
When he nothing shines upon,
Then you show your little light,
Twinkle, twinkle, all the night.
Twinkle, twinkle, little star,
How I wonder what you are!

import  string
str ="Twinkle, twinkle, little star,How I wonder what you are!Up above the world so high,Like a diamond in the sky.Twinkle, twinkle, little star,How I wonder what you are!When the blazing sun is gone,When he nothing shines upon,Then you show your little light,Twinkle, twinkle, all the night.Twinkle, twinkle, little star,How I wonder what you are!".lower()
for i in string.punctuation:
    str = str.replace(i," ")
list1=str.split()
list2=list(set(list1))
dict1={}
for j in range(len(list2)):
    dict1[list2[j]] = 0
    for k in range(len(list1)):
        if list2[j]==list1[k]:
            dict1[list2[j]] +=1
list3=sorted(dict1.items(),key = lambda x:x[1],reverse = True)
print(list3)

在这里插入图片描述

统计《水调歌头·明月几时有》字符出现次数。
明月几时有,把酒问青天。
不知天上宫阙,今夕是何年?
我欲乘风归去,又恐琼楼玉宇,高处不胜寒。
起舞弄清影,何似在人间!
转朱阁,低绮户,照无眠。
不应有恨,何事长向别时圆?
人有悲欢离合,月有阴晴圆缺,此事古难全。
但愿人长久,千里共婵娟。

str ="明月几时有,把酒问青天。不知天上宫阙,今夕是何年?我欲乘风归去,又恐琼楼玉宇,高处不胜寒。起舞弄清影,何似在人间!转朱阁,低绮户,照无眠。不应有恨,何事长向别时圆?人有悲欢离合,月有阴晴圆缺,此事古难全。但愿人长久,千里共婵娟。"
list = set(str)
for y in list:
    x = str.count(y)
    print(y ,"出现了%s次"%x)

在这里插入图片描述

随机生成密码。编写程序,在26个字母大小写和9个数字组成的列表中随机生成10个8位密码。

import random
list = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
     "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
     "0","1","2","3","4","5","6","7","8","9"]
for i in range(10):
    for i in range(8):
        print (random.choice(list),end="")
    print("\n")

从控制台随机输入6个数,用冒泡排序法将输入的数从小到大排序输出。

list = []
for i in range(6):
    num = int(input('请输入第' + str((i + 1)) + '个整数:'))
    list.append(num)
for j in range(len(list) - 1):
    for k in range(len(list) - 1):
        if list[k] > list[k + 1]:
            t = list[k]
            list[k] = list[k + 1]
            list[k + 1] = t
print(list)

在这里插入图片描述

编写程序,输入任意大的自然数,输出各位数字之和。

num = input("请输入一个数:")
sum = 0
for i in num:
    sum += int(i)
print(sum)

编写小程序,输入一个三角形的三边,输出它的面积,并写出运行结果。

import math
a = int(input("请输入边长:"))
b = int(input("请输入边长:"))
c = int(input("请输入边长:"))
if (a + b) > c and (a + c) > b and (b + c) > a:
    p = (a + b + c)//2
    s = math.sqrt(p*(p-a)*(p-b)*(p-c))
    print("三角形面积为:",s)
else:
    print("这不是一个三角形")

已知复数 x = 6+ 8j 请写出它的模、实部、虚部及共轭复数的命令,并写出运行结果。

x = 6 + 8j
print("实部:",x.real)
print("虚部:",x.imag)
print("模:",abs(x))
print("共轭复数:",x.conjugate())
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值