Python小练习

(其实是作业啦)

位运算判断一个整数是奇数还是偶数

num1 =  int(input("请输入一个数:"))
if num1|1 == num1:
    print("不是偶数")
else:
    print("是偶数")

思路: 

(1) 位运算作用于二进制,

(2) 要判断二进制的奇偶看最低位是0(偶)还是1(奇),这个我是联想到位权,只有最低为才是2的零次方

(3) 让它更0000........1进行或运算,最低位为1,这个数就不变,否则就变

输入一个年份,判断该年是否是闰年

year = int(input("输入年份:"))

if year%4 == 0 and year %100 != 0:
    print("闰年")
elif year %400 ==0:
    print("闰年")
else:
    print("平年")

思路:

满足闰年的两个条件: (1) 能够被400整除

                                   (2) 能被4整除,不能被100整除

输入赵本山的考试成绩,显示所获奖励

grade = float(input("输入赵本山的成绩:"))

if grade > 100 and grade < 0:
    print("输入非法")
else:
    if grade == 100:
        print("爸爸给他买辆车")
    elif grade >= 90:
        print("妈妈给他买MP4")
    elif grade>=60:
        print("妈妈给他买本参考书")
    else:
        print("爹妈混合双打")

思路: 简单的多分支,这里我采用了递减判断,简化代码

健康计划

#计算公式:BMI = 体重 / 身高^2

m = float(input("输入升高"))
kg = float(input("输入体重"))

BMI = kg/(m*m)

if BMI < 18.5:
    print("过轻")
elif BMI < 24:
    print("正常")
elif BMI < 27:
    print("过重")
elif BMI < 30:
    print("轻度肥胖")
elif BMI < 35:
    print("中度肥胖")
else:
    print("过度肥胖")

思路: 多分支,同上

设计一个程序,完成商品的购买,展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款输入付款金额->打印购买小票

print("商品信息:")
print("A. 商品A - $10.00  95折扣")
print("B. 商品B - $15.00  90折扣")

    # 用户选择商品和数量
product = input("请选择要购买的商品(输入商品字母):")
quantity = int(input("请输入购买数量:"))

    # 根据用户选择计算总价
if product == 'A':
        total= 10.00 * quantity * 0.95
elif product == 'B':
        total = 15.00 * quantity * 0.9


print("价格:" + str(total))
money = float(input("付款金额"))


    # 打印购买小票
print("\n购买详情:")
print("商品:" + product)
print("购买数量: " + str(quantity) )
print("总价:" + str(total))
print("付款金额:" + str(money))
print("找零:" + str(money - total))

思路: 挨个实现功能就行

控制台图案打印

(1)

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

i = 0
j = 0 
while i < 3:
    j=0
    while j < 11:
        print("*",end="")
        j += 1
    print()
    i += 1

(2)

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

i = 0
while i < 6:
    j=0
    while j <= i:
        print("*", end = "")
        j += 1
    print()
    i += 1

(3)

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

i = 0
while i < 6:
    j=0
    while j < 5-i:
        print(" ",end = "")
        j = j + 1
    j=0
    while j <= i:
        print("*", end = "")
        j += 1
    print()
    i += 1

思路 : 先打印空格,再打印星星

(4)

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

i = 1
while i <= 4:
    j=1
    while j <= 4-i:
        print(" ",end = "")
        j = j + 1
    j=1
    while j <= (i*2-1):
        print("*", end = "")
        j += 1
    print()
    i += 1

思路: 每行空格数减一,但 星星变为: 行数*2-1;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序二刺猿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值