python第三天练习题

1.打印课堂上图案:

1)

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

layer = int(input('请输入您要打印的行数:'))
index = 1
while index <= layer:
    j = 1
    while j <= index:
        print('*',end = '')
        j += 1
    print()
    index += 1

2)

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

layer = int(input('请输入您要打印的行数:'))
for i in range(layer):
    num = 2 * i + 1
    for j in range(num):
        print('*',end = '')
    print()

3) *          
    **         
   ***            
  ****            
 *****
******

layer = int(input('请输入您要打印的行数:'))
for i in range(layer):
    for j in range(layer - i - 1 ):
        print(' ',end = '')
    for j in range(i + 1):
        print('*',end = '')
    print()

4)
   *
  ***
 *****
*******

layer = int(input('请输入您要打印的行数:'))
for i in range(layer):
    for j in range(layer - i - 1 ):
        print(' ',end = '')
    for j in range(2 * i + 1):
        print('*',end = '')
    print()

5)
*******
 *****
  ***
   *
    

layer = int(input('请输入您要打印的行数:'))
for i in range(layer,0,-1):
    print(' ' * (layer - i) ,end = '')
    print('*' * (2 * i - 1) ,end = '')
    print()

6)

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

layer = int(input('请输入您要打印的奇数行:'))
while layer % 2 == 0:
    layer = int(input('对不起,请输入奇数行:'))
    for i in range(1,layer // 2 + 2):
        print(' ' * (layer - i),end = '')
        print('*' * (2 * i - 1))
    for i in range(layer // 2,0,-1):
        print(' ' * (layer - i),end = '')
        print('*' * (2 * i - 1))


    

7)
   *
  * *
 *   *
*     *
 *   *
  * *
   *    

layer = int(input('请输入您要打印的奇数行:'))
while layer % 2 == 0:
    layer = int(input('对不起,请输入奇数行:'))
for i in range(1,layer // 2 + 2):
    print(' ' * (layer - i),end = '')
    for j in range(2 * i - 1):
        if j == 0 or j == 2 * i - 2:
            print('*',end = '')
        else:
            print(' ',end = '')
    print()

for i in range(layer // 2,0,-1):
    print(' ' * (layer - i),end = '')
    for j in range(2 * i - 1):
        if j == 0 or j == 2 * i - 2:
            print('*',end = '')
        else:
            print(' ',end = '')
    print() 

8)
   *
  ***
 * * *
*******
 * * *
  ***
   *

layer = int(input('请输入您要打印的奇数行:'))
while layer % 2 == 0:
    layer = int(input('对不起,请输入奇数行:'))
for i in range(1,layer // 2 + 2):
    print(' ' * (layer - i),end = '')
    for j in range(2 * i - 1):
        if j == 0 or j == 2 * i - 2 or i == layer // 2 + 1 or j == i - 1:
            print('*',end = '')
        else:
            print(' ',end = '')
    print()

for i in range(layer // 2,0,-1):
    print(' ' * (layer - i),end = '')
    for j in range(2 * i - 1):
        if j == 0 or j == 2 * i - 2 or j == i - 1:
            print('*',end = '')
        else:
            print(' ',end = '')
    print() 

 

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

num = int(input('请输入一个整数:'))
flag = True
for i in range(2,num//2+1):
    if num %i == 0:
        flag = False
        break
if flag:
    print(f'{num}是质数')
else:
    print(f'{num}不是质数')

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

print("英雄商城登录界面\n")
print("~*"*13)
print("英雄联盟商城登录界面\n")
print("1.用户登录")
print("2.新用户注册\n")
print("3.退出系统\n")
print("~*"*13)
input("(温馨提示)请输出您的选项")

print("英雄联盟商城首页\n")
print("~*"*13)
print("1.进入英雄超市\n")
print("2.悠闲小游戏\n")
print("3.退出登录\n")
print("~*"*13)
input("(温馨提示)请输入您的选项:")

print("")
print("英雄商城英雄列表\n")
print("~ *"*25)
print("编号  姓名     昵称    价格  库存  描述 \n")
print("1     纳尔   迷失之牙  3500  100  丛林不会原谅盲目与无知 \n")
print("2     锐雯   放逐之刃  4000  100  她是残忍高效的战士 \n")
print("3     薇恩   暗夜猎手  3500  100  这个世界不想人们想象的那么美好\n")
print("4     扎克   生化魔人  3000  100  即使你没有脊柱,你也必须站起来\n")
print("5     杰斯  未来守护者 2500  100  武装着睿智与魅力,你的选择没有错\n")
print("~ *"*25)
input("(温馨提示)请输入您要购买的英雄编号:")

print("英雄商城购买英雄")
print("英雄购买票据\n")
print("~ *"*30)
print("英雄名称:盲僧(史诗)")
print("英雄属性:生命值428(+85)/能量值200(+0)/移动速度425/攻击力55.8(+3.2)")
print("攻击速度0.651(+3.1%)/护甲值24(+1.25)/攻击距离125\n")
print("英雄座右铭:一人之行可灭世,众人之勤可救世!\n")
print("英雄价格:3000")
print("活动折扣:9.5\n")
print("插播广告:当风云变色,当流离失所,世界不再是旧日模样你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡\n")
print("~ *"*30)
input("(温馨提示)请付款:")

print("英雄商城购买英雄")
print("英雄购买票据")
print("~ *"*20)
print("英雄名称:九尾妖狐(史诗)")
print("英雄价格:10000")
print("活动折扣:9.5\n")
print("应付付款:9500")
print("实际付款:10000")
print("找零:500\n")
print("插入广告:当风云变色,当流离失所,世界不再是旧日模样你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡")
print("~ *"*20)
input("(温馨提示)按任意键返回上一级菜单:")

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

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

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

a = int(input('请输入a:'))
b = int(input('请输入b:'))
if a // b == 0 or a + b > 1000:
    print(a)
else:
    print(b)

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

num = int(input('请输入一个整数:'))
a = 1
b =2
if num % 2 == 0:
    print('这个数是偶数')
    while a <= num:
        if a % 3 == 0:
            print(a)
        a += 1
if num % 2 != 0:
    print('这个数是奇数')
    while b <= num:
        if b % 5 == 0:
            print(b)
        b += 1

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

a = 3
b = 2
t = 35
k = 120
num1 = t * 0.8
num2= k * 0.9
num = num1 + num2
print(f'小明应付{num}元')

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

a = int(input('请输入有几个头:'))
b = int(input('请输入有几只脚:'))
for x in range(1,a):
    y = a - x
    if 2 * x + 4 * y == b:
        print('鸡有' + str(x) + '只','兔有'+ str(y) + '只')

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

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

import random
while True:
    computer = random.randint(1,3)
    you = int(input('请输入您想要出的(1:石头2:剪刀3:布):'))
    if you == computer:
        print('平局')
    elif(you == 1 and computer == 2 or you == 2 and computer == 3 or you == 3 and computer == 1 ):
        print('恭喜您,胜利了')
    else:
        print('您失败了')

12.求50~150之间的质数是那些?

for i in range(50, 150):
    flag = True
    for j in range(2, i):
        if i % j == 0:
            flag = False
            break
    if flag:
        print(f"{i}是素数", end=(''))

13.打印输出标准水仙花数,输出这些水仙花数

def shui_xian_hua():
    a = range(100, 1000)
    for i in range(0, 900):
        bai = a[i] // 100
        shi = (a[i] // 10) % 10
        ge = a[i] % 10
        if a[i] == bai ** 3 + shi ** 3 + ge ** 3:
            print(a[i])
 
 
shui_xian_hua()

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

a = input("请输入一个大于九的数:")
b = []
c = 0
d = 0
for i in range(0, len(a)):
    b.append(a[i])
 
for i in range(0, len(b)):
    d = d + int(b[i])
c = int(a) - d
 
if i // 9 == 0:
    print("猜想正确")
else:
    print("猜想错误")

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

for i in range(10000, 100000):
    w = i // 10000
    q = i % 10000 // 1000
    b = i % 1000 // 100
    s = i % 100 // 10
    g = i % 10
    A = int(str(w) + str(q) + str(b) + str(s) + str(g) + "7")
    B = int("7" + str(w) + str(q) + str(b) + str(s) + str(g))
    if B // 5 == A:
        print(i)

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

def test_11(num):
    if num % 2 == 0:
        print(f"{num / 2}次可以拿完")
    else:
        print(f"{num // 2 + 1}次可以拿完")
 
 
test_11(10)
test_11(8)
test_11(5)
test_11(3)
test_11(27)
test_11(99)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值