-
打印如下图案
(1)
代码呈现:num = int(input('请输入你想打印的行数:')) for i in range(1, num+1): print('*' * i)
结果呈现:
(2)
代码呈现:num = int(input('请输入你想打印的行数:')) for i in range(1, num+1): print(' ' * (num - i) + '*' * i)
结果呈现:
(3)
代码呈现:num = int(input('请输入你想打印的行数:')) for i in range(1, num+1): print(' ' * (num - i), end='') print('*' * (2 * i - 1))
结果呈现:
(4)
代码呈现:num = int(input('请输入你想打印的行数:')) for i in range(num, 0, -1): print(' ' * (num - i), end='') print('*' * (2 * i - 1))
结果呈现:
(5)
代码呈现:num = int(input('请输入你想打印的行数:')) for i in range(1, num // 2 + 2): print(' ' * (num - i), end='') print('*' * (2 * i - 1)) for i in range(num//2, 0, -1): print(' ' * (num - i), end='') print('*' * (2 * i - 1))
结果呈现:
(6)
代码呈现:num = int(input('请输入你想打印的行数:')) # 上 for i in range(1, num // 2 + 2): print(' ' * (num - 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(num // 2, 0, -1): print(' ' * (num - i), end='') for j in range(2 * i - 1): # 判断第一个、最后一个 if j == 0 or j == 2 * i - 2: print('*', end='') else: print(' ', end='') print()
结果呈现:
(7)
代码呈现:num = int(input('请输入你想打印的行数:')) # 上 for i in range(1, num // 2 + 2): print(' ' * (num - i), end='') for j in range(2 * i - 1): if j == 0 or j == 2 * i - 2 or i == num // 2 + 1 or j == i - 1: print('*', end='') else: print(' ', end='') print() # 下 for i in range(num // 2, 0, -1): print(' ' * (num - i), end='') for j in range(2 * i - 1): # 判断第一个、最后一个 if j == 0 or j == 2 * i - 2 or i == num // 2 + 1 or j == i - 1: print('*', end='') else: print(' ', end='') print()
结果呈现:
-
判断一个数是否是质数(素数)
代码呈现:num = int(input('请输入一个整数:')) if num == 1: print(f'{num}不是一个素数') elif num > 1: for i in range(2, int(num ** 0.5) + 1): if num % i == 0: print(f'{num}不是一个素数') break else: print(f'{num}为素数')
结果呈现:
-
设计一个程序,完成(英雄)商品的购买(界面为杂糅①所打印的界面)
要求:展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款 输入付款金额->打印购买小票(扩展)
代码呈现:header = '\t\t\t\t\t\t\t英雄联盟英雄列表' message = '\n编号\t姓名\t\t昵称\t\t\t价格\t\t库存\t\t描述' option = ('\n1\t纳尔\t\t迷失之牙\t\t3500\t100\t\t丛林不会原谅盲目与无知' '\n2\t瑞文\t\t放逐之刃\t\t4000\t100\t\t她是残忍高效的战士' '\n3\t薇恩\t\t暗夜猎手\t\t3500\t100\t\t这个世界不像人们想象的那么美好' '\n4\t扎克\t\t生化魔人\t\t3000\t100\t\t即使你没有脊柱,你也必须站起来' '\n5\t杰斯\t\t未来守护者\t2500\t100\t\t武装着睿智与魅力,你的选择没有错') decor = '~*' * 38 # 商品信息 products = ['纳尔', '瑞文', '薇恩', '扎克', '杰斯'] # 展示商品信息 print(header, '\n', decor, message, option, '\n', decor) prices = { 1: 3500, 2: 4000, 3: 3500, 4: 3000, 5: 2500 } choice = int(input("请选择您要购买的商品编号(1-5): ")) - 1 # 由于python中的列表索引从0开始所以要减一 if choice < 0 or choice >= len(products): print("选择的商品编号不存在,请重新运行程序。") exit() quantity = int(input("请输入购买数量: ")) total_price = prices[choice + 1] * quantity # 注意这里使用choice + 1来获取正确的价格 print(f"您选择的是 {products[choice]},总价为: {total_price}元") # 去除了格式化中的“.2f”因为总价是整数 # 付款 payment = float(input("请输入付款金额: ")) while payment < total_price: print("付款金额不足,请重新输入。") payment = float(input("请输入付款金额: ")) 2 2 change = payment - total_price # 打印小票 bill_message = '英雄购买票据' product_name = products[choice] product_price = prices[choice + 1] bill_message_main = (f'\n\t\t英雄名称:{product_name}' f'\n\t\t英雄价格:{product_price}' '\n' f'\n\t\t应付款金额:{total_price}' f'\n\t\t实际付款金额:{payment}' f'\n\t\t找零:{change}') ad = ('\n插播广告:当风云变色,当流离失所,世界不再是旧日模样' '\n你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡') bill_decor = '~*'*40 print(f'{bill_message}\n{bill_decor}\n{bill_message_main}\n{ad}\n{bill_decor}\n(温馨提示)按任意键返回上一级菜单:')
结果呈现:
-
有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?
代码呈现:min_nums = None max_nums = None for i in range(1000, 10000): if i % 1000 // 100 == 3 and i % 100 // 10 == 6 and i % 2 == 0 and i % 3 == 0: if min_nums is None: min_nums = max_nums = i if i < min_nums: min_nums = i if i > max_nums: max_nums = i print(f'这个四位数最小为{min_nums}' f'\n这个四位数最大为{max_nums}')
结果呈现:
-
编程求一个四位自然数ABCD,它乘以A后变成DCBA。
代码呈现:for i in range(1000, 10000): a = i // 1000 b = (i % 1000) // 100 c = (i % 100) // 10 d = i % 10 if (a*1000+b*100+c*10+d) * a == d*1000+c*100+b*10+a and a != 0: print(f'这个数为{i}') break
结果呈现:
-
用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。
代码呈现:a = float(input("请输入a的值:")) b = float(input("请输入b的值:")) if b//a or (a+b) > 1000: print(f'输出a的值为{a}') else: print(f'输出b的值为{b}')
结果呈现:
-
请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些?
代码呈现:numbers = int(input('请输入一个整数:')) if numbers % 2 == 0: print(f'{numbers}为偶数,且1到该数之间能被3整除的数为') for i in range(1, numbers+1): if i % 3 == 0: print(i) elif numbers % 2 != 0: print(f'{numbers}为奇数,且1到该数之间能被3整除的数为') for i in range(1, numbers+1): if i % 5 == 0: print(i) print('判断完毕')
结果呈现:
-
某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?
代码呈现:T = int(input('请输入你要购买T恤的数量:')) J = int(input('请输入你要购买裤子的数量:')) T_sum = T * 35 J_sum = J * 120 if T == 2: T_sum = T_sum * 0.9 elif T > 2: T_sum = T_sum * 0.8 if J >= 2: J_sum = J_sum * 0.9 A_sum = T_sum + J_sum print(f'T恤35/件,你购买了{T}件' f'\n裤子120/条,你购买了{J}条' f'\n一共消费{A_sum}元')
结果呈现:
-
鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?
代码呈现:head = int(input('请输入总头数: ')) foot = int(input('请输入总脚数: ')) j = 0 t = 0 while j <= head: if 2 * j + 4 * t == foot and j + t == head: print(f'鸡有{j}' f'\n兔有{t}') break else: j += 1 t = head - j else: print("无法找到符合条件的解")
结果呈现:
-
猜数字游戏(使用random模块完成) 电脑随机一个范围内的数,用户输入数据判断,如果数大了,提供“数大了”,成功之后,显示用户猜测次数并加上用户是否继续功能,如果判断超过5次后,停止判断,返回失败。
代码呈现:import random def guess_what_num(): while True: num_to_guess = random.randint(0, 101) times = 0 max_times = 5 print(f'{num_to_guess}') # 为了方便结果测试,在此打印{num_to_guess}已示查看,真正运行游戏时请删除 print('你有5次机会来猜我所想的正整数(0~100)') while times <= max_times: guess = int(input('请输入你猜的数字:')) times += 1 if guess < num_to_guess: print('猜小了!') elif guess > num_to_guess: print('猜大了!') else: print(f'哇塞!我想的数字是{num_to_guess},你猜对了耶,咱俩心有灵犀!!!' f'\n共用了{times}次猜对!') break if times == max_times: print('就到此罢,你我无缘,江湖不见!!!') break game_continue = input('还想和我玩儿?点(Y/y)试试:') if game_continue != 'Y' and game_continue != 'y': print('你这就走了,像是下了某种决定!') break guess_what_num()
结果呈现:
-
猜拳游戏:石头、剪刀、布的游戏
代码呈现:import random def hand_guess(): while True: hand_to_guess = random.randint(1, 3) print('\nThe guessing game begins' '\n!让我来看看今天是谁哭着回去!') print(hand_to_guess) # 为了方便结果测试,在此打印{hand_to_guess}已示查看,真正运行游戏时请删除 guess = int(input('石头(1)剪刀(2)布(3):')) if guess not in [1, 2, 3]: print('请输入有效数字!') elif guess == 1 and hand_to_guess == 3: print('我是布!') print('哈哈,你输了!') elif guess == 2 and hand_to_guess == 1: print('我是石头!') print('哈哈,你输了!') elif guess == 3 and hand_to_guess == 2: print('我是剪刀!') print('哈哈,你输了!') elif guess == hand_to_guess: print('!平局!重来!') else: print(f'厉害呀!你赢了!') game_continue = input('还想再玩一局吗?(输入 1、2 或 3 继续,其他任何输入退出游戏): ') if game_continue not in ['1', '2', '3']: print('游戏结束,谢谢参与!') break else: print('') hand_guess()
结果呈现:
python练习杂糅②——编程基础
于 2024-03-22 01:29:48 首次发布