作业1:请使用循环打印如下图案:
*
**
***
****
*****
*
***
*****
*******
*********
*
**
***
****
*****
*
***
*****
*******
*******
*****
***
*
*
***
*****
*******
*****
***
*
代码:
#第一个图案
a = 5
n = 1 #控制行数
while n <= a:
j = 1 #控制每行输出的*个数
while j <= n :
print("*",end="")
j += 1
print()
n += 1
print('''
''')
#第二个图案
a = 9
n = 1 #控制行数
while n <= a:
j = 1 #控制每行输出的*个数
while j <= n :
print("*",end="")
j += 1
print()
n += 2
print('''
''')
#第三个图案
a = 5
n = 1
k = 5
while n <= a:
j = 1
k -= 1
i = 1
while j <= k :
print(" ",end="")
j += 1
while i <= n :
print("*",end="")
i += 1
print()
n += 1
print('''
''')
#第四个图案
a = 7
n = 1
k = 5
while n <= a:
j = 1
k -= 1
i = 1
while j < k :
print(" ",end="")
j += 1
while i <= n :
print("*",end="")
i += 1
print()
n += 2
print('''
''')
#第五个图案
a = 9
n = 1
k = 7
while n <= a:
j = 1
i = 1
while i < n :
print(" ",end="")
i += 2
while j <= k :
print("*",end="")
j += 1
print()
k -= 2
n += 2
print('''
''')
#第六个图案
a = 6
n = 1
k = 5
while n <= a:
j = 1
k -= 1
i = 1
while j < k :
print(" ",end="")
j += 1
while i <= n :
print("*",end="")
i += 1
print()
n += 2
a = 9
n = 1
k = 7
while n <= a:
j = 1
i = 1
while i < n :
print(" ",end="")
i += 2
while j <= k :
print("*",end="")
j += 1
print()
k -= 2
n += 2
print('''
''')
结果:
作业2:判断一个数是否是质数(素数)
代码:
num = int(input("请输入一个数字: "))
if num > 1:
for i in range(2,num):
if (num % i) == 0:
print(num,"不是质数")
print(i,"乘于",num//i,"是",num)
break
else:
print(num,"是质数")
else:
print("你是猴子请来的救兵吧!!")
作业3:设计一个程序,完成(英雄)商品的购买(界面就是第一天打印的界面)
展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款
输入付款金额->打印购买小票(扩展)
代码:
print(""" 英雄商城英雄列表
~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~
编号 姓名 昵称 价格 库存 描述
1 纳尔 迷失之牙 3500 100 丛林不会原谅盲目与无知
2 锐雯 放逐之刃 4000 100 她是残忍高效的战士
3 薇恩 暗夜猎手 3500 100 这个世界不想人们想象的那么美好
4 扎克 生化魔人 3000 100 即使你没有脊柱,你也必须站起来
5 杰斯 未来守护者 2500 100 武装着睿智与魅力,你的选择没有错
~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~""")
a = int(input("(温馨提示)请输入您要购买的英雄编号:"))
b = 100
c = 0
name = 0
if a == 1:
print("纳尔 价格:3500 折扣9.5 ")
c = 3500 *0.95
name = '纳尔'
if a == 2:
print("锐雯 价格:4000 折扣7.5 ")
c = 4000 *0.75
name = '锐雯'
if a == 3:
print("薇恩 价格:3000 折扣8.5 ")
c = 3000 *0.85
name = '薇恩'
if a == 4:
print("扎克 价格:3000 折扣9.5 ")
c = 3000 *0.95
name = '扎克'
if a == 5:
print("杰斯 价格:2500 折扣6.5 ")
c = 2500 *0.65
name = '杰斯'
d = int(input("输入购买数量(注意库存!):"))
while d > b:
print("error,您买多了,库存不足")
d = int(input("请重新输入购买数量(注意库存!):"))
print ("亲,请付款哦~")
e = int(input ("请输入付款金额:"))
while e < c*d:
print("error,您给的钱少了")
e = int(input("请重新输入付款金额:"))
print(" 这是您的小票,请收好!")
print(f""" 购买的英雄: {name}
购买数量:{d}
付款金额:{c*d}
找您零钱{e-c*d}""")
结果:
作业4:有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?
分析:
根据题目描述,所得的一个数应为:X36Y,并且能被3和2同时整除,因此XY能被6整除,及求能被6整除的最小两位数和最大两位数
# 初始化最小和最大两位数变量
min_number = 10
max_number = 99
# 使用for循环找出能被6整除的最小两位数
for number in range(min_number, max_number + 1):
if number % 6 == 0:
break
# 输出最小的能被6整除的两位数
print(f"能被6整除的最小两位数是:{number}")
# 使用for循环倒序找出能被6整除的最大两位数
for number in range(max_number, min_number - 1, -1):
if number % 6 == 0:
break
# 输出最大的能被6整除的两位数
print(f"能被6整除的最大两位数是:{number}")
结果:
因此,最小的是1362,最大的是9366
作业4:验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.
import random
num = str(random.randint(9,999999999))
count = 0
for i in range(len(num)):
count += int(num[i])
if (int(num)-count) % 9 == 0:
print("是")
else:
print("否")
作业5:编程求一个四位自然数ABCD,它乘以A后变成DCBA
for i in range(1000,9999):
if int(str(i)[0]) * i == int(str(i)[3] + str(i)[2] + str(i)[1] + str(i)[0]):
print(i)
结果:
作业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:
print("偶数")
for i in range(1,4):
if num % i == 0:
print(i)
else:
print("奇数")
for i in range(1,5):
if num % i == 0:
print(i)
结果:
作业8:某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?
t_shirt = 35
trousers = 120
count = 0
def money(num1,num2):
if 3 > num1 >= 2:
count = 0.9* t_shirt
else:
count = 0.8* t_shirt
if num2 >= 2:
count += 0.9* trousers
return count
print(money(3,2))
结果:136.0
作业9:猜数字游戏(使用random模块完成) 电脑随机一个范围内的数,用户输入数据判断, 如果数大了,提供”数大了“ 成功之后,加上用户是否继续功能
import random
compute = random.randint(0, 100)
while True:
my = int(input("请输入一个0~100的整数:"))
if my > compute:
print("对不起,您猜大了")
elif my < compute:
print("对不起,您猜小了")
else:
print("恭喜您,猜对了,撒花~~~~~")
choice = input("请是否继续猜(Y/y),其他任意符号退出:")
if choice == "Y" or choice == "y":
compute = random.randint(0, 100)
else:
print("see you~")
break
作业10:猜拳游戏:石头、剪刀、布的游戏
import random as r
compute = r.randint(0, 3)
while True:
my = int(input("请输入您要出的拳(0:剪刀,1:石头,2:布)"))
if my == 0 and compute == 0 or my == 1 and compute == 1 or my == 2 and compute == 2:
print("平局")
choice = input("请是否继续猜(Y/y),其他任意符号退出:")
if choice == "Y" or choice == "y":
compute = r.randint(0, 3)
else:
print("see you")
break
elif my == 0 and compute == 1:
print("对不起,您输了")
choice = input("请是否继续猜(Y/y),其他任意符号退出:")
if choice == "Y" or choice == "y":
compute = r.randint(0, 3)
else:
print("see you")
break
elif my == 0 and compute == 2:
print("恭喜,您赢了")
choice = input("请是否继续猜(Y/y),其他任意符号退出:")
if choice == "Y" or choice == "y":
compute = r.randint(0, 3)
else:
print("see you")
break
elif my == 1 and compute == 0:
print("恭喜,您赢了")
choice = input("请是否继续猜(Y/y),其他任意符号退出:")
if choice == "Y" or choice == "y":
compute = r.randint(0, 3)
else:
print("see you")
break
elif my == 1 and compute == 2:
print("对不起,您输了")
choice = input("请是否继续猜(Y/y),其他任意符号退出:")
if choice == "Y" or choice == "y":
compute = r.randint(0, 3)
else:
print("see you")
break
elif my == 2 and compute == 0:
print("对不起,您输了")
choice = input("请是否继续猜(Y/y),其他任意符号退出:")
if choice == "Y" or choice == "y":
compute = r.randint(0, 3)
else:
print("see you")
break
elif my == 2 and compute == 1:
print("恭喜,您赢了")
choice = input("请是否继续猜(Y/y),其他任意符号退出:")
if choice == "Y" or choice == "y":
compute = r.randint(0, 3)
else:
print("see you")
break