Python相关练习

1.判断一个数是否是质数(素数)

num = int(input("请输入一个整数:"))

if num > 1:
    for i in range(2, int(num**0.5) + 1):
        if (num % i) == 0:
            print(f"{num} 不是质数")
            break
    else:
        print(f"{num} 是质数")
else:
    print(f"{num} 不是质数")

2.设计一个程序,完成(英雄)商品的购买(界面就是第一天打印的界面) 展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款 输入付款金额->打印购买小票(扩展)

3.有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?

满足条件的最大的四位数是:3696
满足条件的最小的四位数是:3600

# 初始化最大和最小的数
max_num = -1
min_num = float('inf')

# 遍历所有满足条件的四位数
for i in range(1000, 10000):
    if str(i)[0] == '3' and str(i)[1] == '6' and i % 2 == 0 and i % 3 == 0:
        if i > max_num:
            max_num = i
        if i < min_num:
            min_num = i

# 输出结果
print(f"满足条件的最大的四位数是:{max_num}")
print(f"满足条件的最小的四位数是:{min_num}")

4.编程求一个四位自然数ABCD,它乘以A后变成DCBA

满足条件的四位数是:1001
满足条件的四位数是:1111
满足条件的四位数是:1221
满足条件的四位数是:1331
满足条件的四位数是:1441
满足条件的四位数是:1551
满足条件的四位数是:1661
满足条件的四位数是:1771
满足条件的四位数是:1881
满足条件的四位数是:1991

for num in range(1000, 10000):
    A = num // 1000
    B = (num % 1000) // 100
    C = (num % 100) // 10
    D = num % 10
    
    product = num * A
    i = D * 1000 + C * 100 + B * 10 + A
    
    if product == i:
        print(f"满足条件的四位数是:{num}")

5.用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。

请输入第一个数a:12
请输入第二个数b:13
13

# 用户输入两个数a和b
a = int(input("请输入第一个数a:"))
b = int(input("请输入第二个数b:"))

# 判断条件并输出结果
if a % b == 0 or a + b > 1000:
    print(a)
else:
    print(b)

6.请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些

请输入一个数:23
从1到23是5的倍数有:[5, 10, 15, 20]

# 用户输入一个数
num = int(input("请输入一个数:"))

# 判断奇偶性并输出结果
if num % 2 == 0:  # 如果是偶数
    i = [i for i in range(1, num+1) if i % 3 == 0]
    print(f"从1到{num}是3的倍数有:{i}")
else:  # 如果是奇数
    j = [i for i in range(1, num+1) if i % 5 == 0]
    print(f"从1到{num}是5的倍数有:{j}")

7.某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?

小明应该付 300.0 元.

# 定义T恤和裤子的价格
tshirt = 35
pants = 120

# 计算小明购买3件T恤的总价
tshirt = tshirt * 3

# 判断T恤的折扣价
if tshirt >= 3:
    tshirt *= 0.8  # 3件以上8折优惠
else:
    tshirt *= 0.9  # 2件9折优惠

# 计算小明购买2条裤子的总价
pants = pants * 2

# 判断裤子的折扣价
if pants >= 2:
    pants *= 0.9  # 2条以上9折优惠

# 计算小明应该付的总金额
total = tshirt + pants

print(f"小明应该付 {total} 元.")

8.鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?

鸡有23只,兔有12只。

for x in range(36):
    y = 35 - x  # 根据 x + y = 35 求出 y 的值
    if 2*x + 4*y == 94:
        print(f"鸡有{x}只,兔有{y}只。")
        break

9.猜数字游戏(使用random模块完成)
    电脑随机一个范围内的数,用户输入数据判断,
    如果数大了,提供”数大了“
    成功之后,加上用户是否继续功能

请输入一个1到100之间的整数进行猜数游戏:20
数大了
请输入一个1到100之间的整数进行猜数游戏:12
数小了
请输入一个1到100之间的整数进行猜数游戏:15
恭喜你猜对了!
是否继续游戏?(输入 'yes' 继续,输入其他任意值退出):q
游戏结束,谢谢参与!

import random

while True:
    # 生成1到100之间的随机数
    t = random.randint(1, 100)
    
    while True:
        # 用户输入猜测的数字
        guess = int(input("请输入一个1到100之间的整数进行猜数游戏:"))
        
        if guess < t:
            print("数小了")
        elif guess > t:
            print("数大了")
        else:
            print("恭喜你猜对了!")
            break
    
    play = input("是否继续游戏?(输入 'yes' 继续,输入其他任意值退出):")
    if play.lower() != 'yes':
        print("游戏结束,谢谢参与!")
        break

10.猜拳游戏:石头、剪刀、布的游戏

请出拳(石头、剪刀、布):石头  
你的选择:石头,电脑的选择:布
你输了
是否继续游戏?(输入 'yes' 继续,输入其他任意值退出):yes
请出拳(石头、剪刀、布):剪刀
你的选择:剪刀,电脑的选择:剪刀
平局
是否继续游戏?(输入 'yes' 继续,输入其他任意值退出):q
游戏结束,谢谢参与!

import random

choices = ["石头", "剪刀", "布"]

while True:
    user_choice = input("请出拳(石头、剪刀、布):")
    if user_choice not in choices:
        print("请输入正确的选项")
        continue
    
    computer_choice = random.choice(choices)
    print(f"你的选择:{user_choice},电脑的选择:{computer_choice}")

    if user_choice == computer_choice:
        print("平局")
    elif (user_choice == "石头" and computer_choice == "剪刀") or \
         (user_choice == "剪刀" and computer_choice == "布") or \
         (user_choice == "布" and computer_choice == "石头"):
        print("你赢了")
    else:
        print("你输了")

    play_again = input("是否继续游戏?(输入 'yes' 继续,输入其他任意值退出):")
    if play_again.lower() != 'yes':
        print("游戏结束,谢谢参与!")
        break
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值