python第三天

1.请使用循环打印如下图案:
    

*
**
***
****
*****

*
***
*****
*******
*********


    *        
   **        
  ***        
 ****
*****

   *
  ***
 *****
*******

*******
 *****
  ***
   *


   *
  ***
 *****
*******
 *****
  ***
   *

   *
  * *
 *   *
*     *
 *   *
  * *
   *


   *
  ***
 * * *
*******
 * * *
  ***
   *

# 第一题
for i in range(1, 6):
    print("*" * i)
 
print()
 
# 第二题
for i in range(1, 6, 2):
    print("*" * i)
 
print()
 
# 第三题
for i in range(1, 6):
    print(" " * (5 - i) + "*" * i)
 
print()
 
# 第四题
for i in range(1, 5):
    print(" " * (4 - i) + "*" * (2 * i - 1))
for i in range(3, 0, -1):
    print(" " * (4 - i) + "*" * (2 * i - 1))
 
print()
 
# 第五题
for i in range(7):
    if i <= 3:
        print(" " * (3 - i) + "*" * (2 * i + 1))
    else:
        print(" " * (i - 3) + "*" * (11 - 2 * i))
 
print()
 
# 第六题
print("   *\n  ***\n *****\n*******\n *****\n  ***\n   *\n")
 
# 第七题
print("   *\n  ***\n *****\n*******\n *****\n  ***\n   *\n")
print("   *\n  ***\n * * *\n*******\n * * *\n  ***\n   *\n")
2.判断一个数是否是质数(素数):

def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True
 3:设计一个程序,完成(英雄)商品的购买(界面就是第一天打印的界面)
        展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款
        输入付款金额->打印购买小票(扩展)

# 商品信息
products = [
    {"name": "英雄钢笔", "price": 100, "discount": 0.9},
    {"name": "英雄墨水", "price": 10, "discount": 0.8},
    {"name": "英雄笔套装", "price": 200, "discount": 0.85}
]
 
# 展示商品信息
print("欢迎购买英雄商品:")
for i, product in enumerate(products):
    print(f"{i + 1}. {product['name']}:{product['price']}元,打{product['discount'] * 10}折")
 
# 输入商品编号和购买数量
product_num = int(input("请输入要购买的商品编号:"))
quantity = int(input("请输入购买数量:"))
 
# 计算总价和折扣价
product = products[product_num - 1]
total_price = product["price"] * quantity
discount_price = total_price * product["discount"]
 
# 提示付款和输入付款金额
print(f"您需要支付{discount_price}元,请输入付款金额:")
paid = float(input())
 
# 打印购买小票
change = paid - discount_price
print(f"谢谢惠顾!您已支付{paid}元,找零{change}元。")
print(f"您购买了{product['name']},单价{product['price']}元,数量{quantity},总价{total_price}元,折扣价{discount_price}元。")


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

# 最小的四位数
for i in range(1000, 10000, 6):
    if str(i)[1] == "6" and str(i)[2] == "3":
        print(f"最小的符合条件的四位数是{i}")
        break
 
# 最大的四位数
for i in range(9996, 999, -6):
    if str(i)[1] == "6" and str(i)[2] == "3":
        print(f"最大的符合条件的四位数是{i}")
        break
5:编程求一个四位自然数ABCD,它乘以A后变成DCBA

# 暴力枚举法
for num in range(1000, 10000):
    a = num // 1000
    b = num // 100 % 10
    c = num // 10 % 10
    d = num % 10
    if a * num == d * 1000 + c * 100 + b * 10 + a:
        print(f"符合条件的四位数是{num}")
        break
6:用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。

a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
 
if a % b == 0 or a + b > 1000:
    print(a)
else:
    print(b)
7:请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些

num = int(input("请输入一个数:"))
 
if num % 2 == 0:
    # 如果是偶数,输出从 1 到该数中是 3 的倍数的数字
    for i in range(1, num + 1):
        if i % 3 == 0:
            print(i)
else:
    # 如果是奇数,输出从 1 到该数中是 5 的倍数的数字
    for i in range(1, num + 1):
        if i % 5 == 0:
            print(i)

8:输入三边的长度,求三角形的面积和周长(海伦公式)

import math
 
a = float(input("请输入三角形的第一条边长:"))
b = float(input("请输入三角形的第二条边长:"))
c = float(input("请输入三角形的第三条边长:"))
 
# 计算半周长
s = (a + b + c) / 2
 
# 计算面积
area = math.sqrt(s * (s - a) * (s - b) * (s - c))
 
# 计算周长
perimeter = a + b + c
 
# 输出结果
print(f"面积为{area:.2f},周长为{perimeter:.2f}")
9:某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?

# T恤的单价和折扣
tshirt_price = 35
tshirt_discounts = [1, 0.9, 0.8]
 
# 裤子的单价和折扣
pants_price = 120
pants_discounts = [1, 0.9]
 
# 小明购买的数量
tshirt_count = 3
pants_count = 2
 
# 计算T恤的总价
tshirt_total_price = 0
if tshirt_count >= 3:
    tshirt_total_price += tshirt_count * tshirt_price * tshirt_discounts[2]
elif tshirt_count >= 2:
    tshirt_total_price += tshirt_count * tshirt_price * tshirt_discounts[1]
else:
    tshirt_total_price += tshirt_count * tshirt_price
 
# 计算裤子的总价
pants_total_price = 0
if pants_count >= 2:
    pants_total_price += pants_count * pants_price * pants_discounts[1]
else:
    pants_total_price += pants_count * pants_price
 
# 计算小明应该付多少钱
total_price = tshirt_total_price + pants_total_price
 
# 输出结果
print(f"小明应该付{total_price:.2f}元")
10:鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?

# 鸡兔总数
total = 35
 
# 鸡兔总脚数
total_legs = 94
 
# 计算兔子数量
rabbit_count = (total_legs - 2 * total) / 2
 
# 计算鸡的数量
chicken_count = total - rabbit_count
 
# 输出结果
print(f"鸡有{chicken_count:.0f}只,兔有{rabbit_count:.0f}只")
11:猜数字游戏(使用random模块完成)
    电脑随机一个范围内的数,用户输入数据判断,
    如果数大了,提供”数大了“
    成功之后,加上用户是否继续功能

import random
 
# 随机生成一个1到100之间的整数
number = random.randint(1, 100)
 
while True:
    # 提示用户输入数字
    guess = int(input("请输入一个1到100之间的整数:"))
 
    # 判断用户输入的数字和随机数的大小关系
    if guess > number:
        print("数大了")
    elif guess < number:
        print("数小了")
    else:
        print("恭喜你猜对了!")
        break
 
# 询问用户是否继续游戏
answer = input("是否继续游戏?(输入 Y 继续,其他键退出)")
if answer == "Y":
    # 重新开始游戏
    number = random.randint(1, 100)
    while True:
        guess = int(input("请输入一个1到100之间的整数:"))
        if guess > number:
            print("数大了")
        elif guess < number:
            print("数小了")
        else:
            print("恭喜你猜对了!")
            break
else:
    print("游戏结束")
12:猜拳游戏:石头、剪刀、布的游戏

import random
 
print("欢迎来到猜拳游戏!")
print("请出拳:1-石头,2-剪刀,3-布")
 
while True:
    # 电脑随机出拳
    computer = random.randint(1, 3)
 
    # 提示用户出拳
    player = int(input("请输入你的选择:"))
 
    # 判断胜负
    if player == 1:
        if computer == 1:
            print("平局")
        elif computer == 2:
            print("你赢了!")
        else:
            print("你输了!")
    elif player == 2:
        if computer == 1:
            print("你输了!")
        elif computer == 2:
            print("平局")
        else:
            print("你赢了!")
    elif player == 3:
        if computer == 1:
            print("你赢了!")
        elif computer == 2:
            print("你输了!")
        else:
            print("平局")
    else:
        print("输入错误,请重新输入!")
        continue
 
    # 询问用户是否继续游戏
    answer = input("是否继续游戏?(输入 Y 继续,其他键退出)")
    if answer != "Y":
        break
 
print("游戏结束,谢谢参与!")
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值