Python

作业4、判断以下哪些不能作为标识符(B.E)
    A、a
    B、¥a
    C、_12
    D、$a@12
    E、false
    F、False


作业5:
    输入数,判断这个数是否是质数(要求使用函数 + for循环)

num=int(input("请输入一个数,判断是不是质数:"))
flag=True
for i in range(2,num):
    if num%i==0:
        flag=False
        break
if flag:
    print(str(num)+"是质数")
else:
    print(str(num)+"不是质数,是合数")

作业6:求50~150之间的质数是那些?

num=int(input("请输入一个数,判断是不是质数"))
flag=True
for i in range(50,150):
    flag=True
    for j in range(2,i):
        if i%j==0:
            flag=False
            break
    if flag:
        print("%s是质数"%(i))    

作业7:打印输出标准水仙花数,输出这些水仙花数

a=100
e=0
while a<1000:
    b=a%10
    c=a//10%10
    d=a//100
    if b**3+c**3+d**3==a:
        e+=1
        print(a)
    a+=1
print(e)

作业8:验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.

num=int(input("请输入一个大于9的整数:"))
if num<100:
        g=num%10
        s=num//10
        if(num-(g+s))%9==0:
            print("验证通过")
        else:
            print("验证失败")
elif num>99 and num<1000:
    g=(num%100)%10
    s=(num%100)//10
    b=num//100
    if (num-(g+s+b))%9==0:
        print("验证通过")
    else:
        print("验证失败")
else:
    pass

作业9:一个五位数,若在它的后面写上一个7,得到一个六位数A,
        若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此
        五位数.

for a in range(9999,100000):
    A=str(a)+str(7)
    B=str(7)+str(a)
    if int(B)/int(A)==5:
        print(a)

作业10:有一种最简真分数,它们的分子与分母的乘积都是140,把
        所有这样的真分数从小到大打印出来

for i in range(1,11):
    for j in range(i+1,141):
        if i*j==140:
            print("{}/{}".format(i,j))

作业11:某数被80除所得的商,不但是7的倍数,而且用2,3,4,5,6去
        除余数都是1,求这 个自然数.

flag=0
for i in range(1,1000):
    shang=80//i
    yushu=i%80
    a=i%2
    b=i%3
    c=i%4
    d=i%5
    e=i%6
    if shang%7==0 and a==1 and b==1 and c==1:
        flag+=1
        print(i,end="\t")
        if flag==5 or flag==10:
            print()

作业12:编程求出满足以下条件的三位数:它除以11所得的商等于它各位数字之和

for i in range(100,1000):
    b=i//100
    g=(i%100)%10
    s=(i%100)//10
    if (i//11)==(g+s+b):
        print(i)

作业13:有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币
    [10, 8, 5, 3, 27, 99]

s=0
ls=[10,8,5,3,27,99]
for i in ls:
    a=i%2
    if a==0:
        s=i//2+s
    else:
        s=i//2+s+1
print("需要取%s"%(s))

作业15:求1~100之间不能被3整除的数之和

sum=0
for num in range(1,101):
    if num%3 !=0:
        continue
    sum+=num
print(sum)

作业16:给定一个正整数N,找出1到N(含)之间所有质数的总和

num=int(input("请输入一个数:"))
sum=0
flag=True
for num in range(1,num):
    for i in range(2,num):
        if num%i==0:
            flag=False
            break
        else:
            flag=True
    if flag==True:
        sum+=num
print(sum)

作业19:计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)

#计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)
num=int(input("请输入一个数:"))
count=0
for i in range(1,num+1):
    a=1
    b=2*i-1
    if i%2==0:
        b=b*(-1)
    count+=(a/b)
PI=4*count
print(PI)

作业31:给定一个10个元素的列表,请完成排序(注意,不要使用系统api)

s={1,3,5,7,9,0,2,4,6,8}
ls=list(s)
ls.sort()
ls=set(ls)
print(s)

作业32:求  a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。

#求  a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。
import random
ls=[]
for i in range(1):
    ls.append(random.randint(1,9))
print(ls)
a=ls[0]
print(a)
b=a+(a*10+a)+(a*100+a*10+a)+(a*1000+a*100+a*10+a)+(a*10000+a*1000+a*100+a*10+a)
print(b)

作业33:合并两个有序数组,合并后还是有序列表

#合并两个有序数组,合并后还是有序列表
s1={1,2,3,4,5}
s2={4,5,6,7,8}
ls1=list(s1)
ls2=list(s2)
ls1.extend(ls2)
print(ls1)
s1=set(ls1)
print(s1)

作业34:给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前

#给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前
ls=[1,2,3,4,5,6,7,8,9]
ls1=[]
ls2=[]
print(ls)
for i in ls:
    if i % 2==0:
        ls1.append(i)
    else:
        ls2.append(i)
print(ls1)
print(ls2)
ls1.extend(ls2)
print(ls1)  

作业35:将10进制数据转换为二进制,并且统计其中的0和1的数量

#将10进制数据转换为二进制,并且统计其中的0和1的数量
num=int(input("请输入一个十进制数:"))
a=bin(num)
a=a[2:]
b=0
c=0
for i in a:
    if i=="0":
        b+=1
    else:
        c+=1
print(f"{num}转为二进制后,0有{b}个,1有{c}个")

作业36:给定一个数组,已知数组中的元素都是成对出现,
    现在数组中只有一个元素没有成对,请找出这个元素。
    [1,3,1,2,2,8,8]

#给定一个数组,已知数组中的元素都是成对出现,现在数组中只有一个元素没有成对,请找出这个元素。[1,3,1,2,2,8,8]
ls=[1,3,1,2,2,8,8]
a=0
for i in ls:
    a^=i
print(a)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unraveled

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值