Demo31~60

Demo31 打印空心菱形 II

n = eval(input("请输入需要打印的行数:"))
for i in range(1,n+1):
    for k in range(abs(n // 2 + 1 - i)):
        print("",end = " ")
    for j in range(1,n + 1):
        if j <= i and  i + j <= n + 1:
            if j == 1 or j == i or j + i == n + 1:
                print("*",end = " ")
            else:
                print(" ",end = " ")
    print()

Demo32 打印菱形 III

n = eval(input("请输入需要打印的行数:"))
for i in range(1, n + 1):
    for k in range(abs(n // 2 + 1 - i)):
        print(" ", end="")
    for j in range(1, n + 1):
        if i <= n // 2 + 1:
            if abs(n // 2 + 1 - i) + j <= n and j <= i * 2 - 1:
                print("*", end="")
        if i > n // 2 + 1:
            if i + j <= n + abs(n // 2 + 1) - abs(n // 2 + 1 -i):
                print("*", end = "")
    print(

Demo33 猜数字
题目描述
计算机随机生成一个 [0,100] 之间的整数,程序提示用户连续地输入数字直到它与那个随机生成的数字相同
对于用户输入的数字,程序会提示它是过高还是过低

"""
import random
random.randint(0,100)  //随机产生一个0-100的任意一个整数
猜数字
"""
import random
randNum = random.randint(0,100)


while True:
    UserNum = eval(input())
    if UserNum < randNum:
        print("小了")
       
    elif UserNum > randNum:
        print("大了")
        
    else:
        print("猜对了")
        break

Demo34 最大公约数 I
题目描述
输入两个正整数,计算其最大公约数,例如 4 和 2 的最大公约数是 2 , 16 和 24 的最大公约数是 8
 

n,m = eval(input())
min_num = min(num1,num2)
for num in range(min_num,0,-1):
    if num1 % == 0 and num2 % num ==0:
        print(num)
        break

Demo35 判断素数
题目描述
一个大于 1 的整数如果只能被正整数 1 和它本身整除,则它就是素数,例如 2 、 3 、 5 和 7 都是素数,而 4 、
6 、 8 、 9 则不是
输入输出描述
输入一个大于 1 的正整数
输出 Yes 表示该数字是素数,否则输出 No

num = eval(input("请输入一个大于1的正整数:"))
#哨兵:监控状态变化
flag = True   #默认是素数
for i in range(2, num // 2 + 1):
    if num % i == 0:
        flag = False
        break
if flag:
    print("Yes")
else:
    print("No")

Demo36 最小公倍数
题目描述
输入两个正整数,计算其最小公倍数,例如 4 和 2 的最小公倍数是 4 , 3 和 5 的最小公倍数是 15

num1, num2 = eval(input("请输入两个正整数:"))
maxNum = max(num1, num2)
for i in range(maxNum, num1 * num2 + 1):
    if i % num1 == 0 and i % num2 == 0:
        print("最小公倍数为",i)
        break

Demo37 整数的素因子
题目描述
输入一个正整数,然后找出它所有的最小因子,也称之为素因子

#整数的素因子
num = eval(input("请输入一个正整数:"))
while num != 1:
    for i in range(2, num + 1):
        if num % i == 0:
            print(i,end=" ")
            num //= i
            break

Demo38 完全数
题目描述
如果一个正整数等于除了它本身之外所有正因子的和,那么这个数称为完全数
例如 6 = 3 + 2 + 1 , 28 = 14 + 7 + 4 + 2 + 1
输入输出描述
输入一个正整数
输出该数是否为完全数

num = eval(input("请输入一个正整数:"))
sum = 0
for i in range(1, num // 2 + 1):
    if num % i == 0:
        sum += i
if sum == num:       #计算正因子之和是否等于输入数字
    print("Yes")
else:
    print("No")

Demo39 前 50 个素数
题目描述
打印前 50 个素数,每打印 10 个素数换行

#打印前50个素数
num = 2
count = 0
while count < 50:    #设定条件
    flag = True      #设定哨兵
    for n in range(2, num // 2 + 1):
        if num % n == 0:
            flag = False
            break
    if flag:
        print(num, end = "\t")
        count += 1
        if count % 10 == 0:
            print()
    num += 1

Demo40 计算 π
题目描述
你可以使用下面的数列近似计算 π
当 i 越大时,计算结果越近似于 π

#求e的值
import math
ite = eval(input("请输入迭代次数:"))
e = 1#初始化
for i in range(1,ite+1):
        result = math.factorial(i)#利用Python标准库中的函数,用于计算给定整数的阶乘
        e += 1 / result#加上当前迭代次数的阶乘的倒数
print(e)

Demo42 剪刀石头布 II
题目描述
延伸【 Demo21 剪刀石头布 I 】的问题,利用循环将程序改为,计算机和电脑谁先赢三次,谁就是终极胜利者

Demo43 组合问题 I
题目描述
在数字范围 [1,7] 之间,任意选择两个不相同的数作为一个组合,输出每一组组合,并统计所有组合的个数
注:组合( a , b )与组合( b , a )算同一种组合,只记录一次

#组合问题1
count = 0
for i in range(1,8):
    for j in range(i+1,8):
        print(f"组合 ({i}, {j})")
        count += 1
print("共有组合: ", count)

Demo44 组合问题 II
题目描述
有 1 、 2 、 3 、 4 这个四个数字,能组成多少个互不相同且无重复数字的三位数?分别又是多少

#组合问题2
count = 0
for i in range(1, 5):
    bai = i
    for j in range(1, 5):
        if i != j:  # 第二位数与第一位数不相等
            shi = j
            for k in range(1, 5):
                if k != i and k != j:  # 第三位数与第一位数和第二位数都不相等
                    ge = k
                    print(bai * 100 + shi * 10 + ge)
                    count += 1
 
print("组合个数为", count)

Demo45 水仙花数
题目描述
水仙花数,是一个三位数,且这个数的个位、十位和百位的立方和等于该数字本身

for i in range(1,10):
    for j in range(0,10):
        for k in range(0,10):
           if i * 100 + j * 10 + k == i ** 3 + j ** 3 + k ** 3:
                print(i * 100 + j * 10 +k)

Demo46 青蛙跳台阶
题目描述
一只青蛙,一次可以跳一个台阶或者两个台阶,现有 n 个台阶,问该青蛙有多少种不同的跳法?
例如:两个台阶,有两种跳法( 1+1 , 2 );四个台阶,有五种跳法( 1+1+1+1 , 2+1+1 , 1+2+1 ,
1+1+2 , 2+2 )

#青蛙跳台阶
n = eval(input())
if n == 1 or n == 2:
    print(n)
else: 
    a = 1
    b = 2
    c = 0
    for i in range(3, n+1):
        c = a + b
        a = b
        b = c 
    print(c)

Demo47 堆叠相加
题目描述
现有堆叠相加模式
例如:a+aa+aaa+aaaa....
2+22+222+2222+22222,其中 a 为 2 ,且有 5 组数字

#堆叠相加:如:3 4 >>> 3 + 33 + 333 + 3333
a,n = eval(input())
sum = 0
num = 0
for i in range(n):
    num = num * 10 + a   # 2 22 222
    sum += num      #2 24 246
print(sum)

Demo48 十进制转二进制

s = ""
num = int(input("请输入一个十进制数:"))
while num != 0:
    y = num % 2
    s = str(y) + s
    num = num // 2
print(s)

Demo49 二进制转十进制 

sum = 0
n = input("请输入一个二进制数字:")
for i in range(len(n)-1, -1, -1):
    num = int(n[i])
    sum += num * (2 ** (len(n) - 1 - i))
print(sum

 Demo50 十进制转十六进制

#十转十六进制
s=""
num = eval(input("请输入一个十进制数:"))
while num != 0:
    y = num % 16
    if y >= 10:
       y = chr(ord("A") + y - 10)
    s=str(y)+ s
    num = num //16
print(s)

 Demo51 16进制转十进制

"""
十六转10
1e1b9>>>>123321

a=10 b=11 c=12 d=13 e=14 f=15
1*16**5 + 14*16**4 +1*16**3+ 11*16**2+9*16**1
"""
y = input("请输入一个16进制的数字:")
sum = 0
for i in range(len(y) - 1,- 1,- 1):
    if int (y[i],16) >= 10:
        num = ord(y[i]) + - ord('a') + 10
    else:
        num = int (y[i])
    sum += num * (16**(len(y) - 1 - i))
print(sum)

 Demo52 最长公共前缀
题目描述
给定两个字符串 s1 和 s2 ,求两个字符串最长的公共前缀串,字符区分大小写

#最长公共前缀
s1 = (input("请输入第一个字符串:"))
s2 = (input("请输入第二个字符串:"))
strSame = ""
minLen = min((len(s1), len(s2)))
for i in range(minLen):
    if s1[i] == s2[i]:
        strSame += s1[i]
print(strSame)

Demo53 子串出现的次数
题目描述
给定两个字符串 s1 和 s2 ,求 s2 在 s1 中出现的次数,字符区分大小写,已匹配的字符不计入下一次匹配
输入输出描述
输入两行字符串,分别为 s1 和 s2 , s2 的长度小于等于 s1
输出 s2 在 s1 中出现的次数 

#子串出现的次数
s1 = (input("请输入父字符串:"))
s2 = (input("请输入子字符串:"))
count = 0
for i in range(0, len(s1),len(s2)):
    if s1[i : i + len(s2)] == s2:
        count += 1
print(count)

Demo54 最长公共子串
题目描述
给定两个字符串 s1 和 s2 ,求 s1 与 s2 之间的最长公共子串 ,区分大小写

Demo55 检测密码
题目描述
一些网站会给密码强加一些规则:
( 1 )密码必须至少有 8 个字符
( 2 )密码只能包含英文字母和数字
( 3 )密码应该至少包含两个数字
( 4 )密码应该至少包含两个大写字母
如果密码符合规则,输出 Yes ;否则输出 No

Demo56 回文素数
题目描述
回文素数是指一个数既是素数又是回文数,例如 131 既是素数也是回文数
输出显示前 100 个回文素数,每行显示 10 个


Demo57 反素数
题目描述
反素数是指一个将其逆向拼写后也是一个素数的非回文数,例如 17 和 71 都是素数但不是回文数,且反转后依旧是素数
输出显示前 100 个反素数,每行显示 10 个


Demo58 双素数
题目描述
双素数是指一对差值为 2 的素数,例如 3 和 5 就是一对双素数, 5 和 7 也是一对双素数
输出显示小于 1000 的双素数

def is_prime(n):  # 判断是否为素数
    if n<= 1:
        return False
    for i in range(2,n):
        if n % i == 0:
            return False
    return True
for i in range(1,1000):
    if is_prime(i)and is_prime(i + 2):   #判断是否为双素数
        print(i,"和”i +2,"是双素数")


Demo59 梅森素数
如果一个素数可以写成
的形式,其中 p 是某个正整数,那么这个素数就称作梅森素数
输出 p ≤ 31 的所有梅森素数


Demo60 平方根的近似求法
有几种实现开平方的技术,其中一个称为巴比伦法
它通过使用下面公式的反复计算近似地得到: 当 nextGuess 和 lastGuess 几乎相同时, nextGuess 就是平方根的近似值
lastGuess初始值为 1 ,如果 nextGuess 和 lastGuess 的差值小于一个很小的数,比如 0.0001 ,就可以认为nextGuess 是 n 的平方根的近似值;否则, nextGuess 成为下一次计算的 lastGuess ,近似过程继续执行
编写代码,求解 n 的平方根的近似值

不会写

相关推荐

  1. WebRTC demo

    2024-04-08 07:58:05       26 阅读
  2. viper_demo

    2024-04-08 07:58:05       37 阅读
  3. zap_demo

    2024-04-08 07:58:05       26 阅读
  4. test_demo

    2024-04-08 07:58:05       22 阅读
  5. 题目 3150: 冶炼金属

    2024-04-08 07:58:05       42 阅读
  6. -CSSE3100/7100

    2024-04-08 07:58:05       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-08 07:58:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-08 07:58:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-08 07:58:05       82 阅读
  4. Python语言-面向对象

    2024-04-08 07:58:05       91 阅读

热门阅读

  1. [LeetCode][LCR186]文物朝代判断——贪心

    2024-04-08 07:58:05       34 阅读
  2. leetcode605-Can Place Flowers

    2024-04-08 07:58:05       29 阅读
  3. LeetCode热题Hot100 - 三数之和

    2024-04-08 07:58:05       33 阅读
  4. xss基础

    xss基础

    2024-04-08 07:58:05      34 阅读
  5. linux基础

    2024-04-08 07:58:05       28 阅读
  6. Docker【1】:Docker制作Oracle19C镜像

    2024-04-08 07:58:05       36 阅读
  7. nginx-rtmp直播监控与管理

    2024-04-08 07:58:05       31 阅读
  8. Gumbel Softmax

    2024-04-08 07:58:05       35 阅读
  9. 【恩智浦FRDM-MCX947开箱实践指南1】

    2024-04-08 07:58:05       36 阅读
  10. 迁移学习和微调

    2024-04-08 07:58:05       33 阅读
  11. Python初级笔记4 排序

    2024-04-08 07:58:05       36 阅读