zoukankan      html  css  js  c++  java
  • 5、流程控制

    1、一家商场在降价促销,所有原价都是整数(不需要考虑浮点情况),如果购买金额50-100元(包含50元和100元)之间,会给10%的折扣,

    如果购买金额大于100元会给20%折扣。编写一程序,询问购买价格,再显示出折扣(%10或

    20%)和最终价格。

     

    2 判断是否为闰年

    提示:

    • 输入一个有效的年份(如:2019),判断是否为闰年(不需要考虑非数字的情况)

    • 如果是闰年,则打印“2019年是闰年”;否则打印“2019年不是闰年”

    什么是闰年,请自行了解(需求文档没有解释)

    3, 使用遍历循环完成剪刀石头布游戏,提示用户输入要出的拳 :石头(1)/剪刀(2)/布(3)/退出(4)

    电脑随机出拳比较胜负,显示用户胜、负还是平局。运行如下图所示:

    提示:电脑随机出拳

    • 使用随机数,首先需要导入随机数模块 —— “工具包”

    • import random

    • 导入模块后,可以直接在 模块名称 后面敲一个"."然后按 Tab键,会提示该模块中包含的所有函数

    • random.randint(a, b),返回[a, b]之间的整数,包含a和b

    random.randint(1, 10)  # 生成的随机数n: 1 <= n <= 10   
    random.randint(4, 4)  # 结果永远是 4 
    random.randint(25, 12)  # 该语句是错误的,下限必须小于上限

    4.求三个整数中的最大值

    提示:三个整数使用input提示用户输入

     

    5, 分别使用for和while打印九九乘法表

    提示:

    输出九九乘法表,格式如下:(每项数据之间空一个Tab键,可以使用" ")

    1 * 1 = 1 1 * 2 = 2    2 * 2 = 4 1 * 3 = 3    2 * 3 = 6     3 * 3 = 9 1 * 4 = 4    2 * 4 = 8     3 * 4 = 12    4 * 4 = 16 1 * 5 = 5    2 * 5 = 10    3 * 5 = 15    4 * 5 = 20    5 * 5 = 25 1 * 6 = 6    2 * 6 = 12    3 * 6 = 18    4 * 6 = 24    5 * 6 = 30    6 * 6 = 36 1 * 7 = 7    2 * 7 = 14    3 * 7 = 21    4 * 7 = 28    5 * 7 = 35    6 * 7 = 42    7 * 7 = 49 1 * 8 = 8    2 * 8 = 16    3 * 8 = 24    4 * 8 = 32    5 * 8 = 40    6 * 8 = 48    7 * 8 = 56    8 * 8 = 64 1 * 9 = 9    2 * 9 = 18    3 * 9 = 27    4 * 9 = 36    5 * 9 = 45    6 * 9 = 54    7 * 9 = 63    8 * 9 = 72    9 * 9 = 81

     

    6,你的微信好友当中有 5 个推销的,他们存在一个列表 black_list=

    ['卖茶叶', '卖面膜', '卖保险', '卖花生', '卖手机']

    当中, 请把这 5 个人分别从 black_list 当中删除,最后 black_list 为空。

     

     

    7,选做:不需要提交,不需要提交,不需要提交哦。

    使用循环实现排序算法(冒泡,选择等算法选择一个,请自行了解。)

    提示:利用for循环,完成a=[1,7,4,89,34,2]的排序(小的数字排前面,大的排后面),不能使用sort、sorted等内置函数或方法

     

     

     

     

     

     

     

     

     

     

     

    """
    # TODO 数据运算、if、for、while、循环嵌套
    1、一家商场在降价促销,所有原价都是整数(不需要考虑浮点情况),如果购买金额50-100元(包含50元和100元)之间,会给10%的折扣,
    如果购买金额大于100元会给20%折扣。编写一程序,询问购买价格,再显示出折扣(%10或20%)和最终价格。
    """
    # if 条件判断,有坑,小于50没明确。。。input结果是字符串,要数据类型转换
    price = int(input("目前商场正在降价促销,请问这件衣服价格是多少元:"))
    if 50 <= price <= 100:
    print("目前这件衣服折扣为10%,您需要付款{}元".format(price * 0.9))
    elif price > 100:
    print("目前这件衣服折扣为20%,您需要付款{}元".format(price * 0.8))
    else:
    print("目前这件衣服目前没有折扣,您需要付款{}元".format(price))

     

    """
    2.闰年 (历法中的名词)两种情况下是闰年
    闰年是公历中的名词。闰年分为普通闰年和世纪闰年。
    普通闰年①:公历年份是4的倍数的,且不是100的倍数,为闰年。(如2004年就是闰年);
    世纪闰年:②公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是世纪闰年,2000年是世纪闰年);
    """
    year = int(input("请输入一个有效的年份(如:2019),判断是否为闰年(不需要考虑非数字的情况):"))
    # 根据闰年规则进行编程,普通年、世纪年
    if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): # 公历年份是4的倍数的,且不是100的倍数,为闰年
    print("恭喜你输入的年份{}为闰年".format(year))
    else:
    print("很抱歉,你输入的年份{}不是闰年".format(year))

    # 3.

    while True:
    choice = int(input("请输入您要出的券:石头(1)/剪刀(2)/布(3)/退出(4):"))
    if choice == 4:
    print("退出游戏")
    break
    computer_choice = random.randint(1, 3)
    if (choice == 1 and computer_choice == 2) or (choice == 2 and computer_choice == 3) or (choice == 3 and computer_choice == 1):
    print("我很厉害,赢了")
    elif choice==computer_choice:
    print("平局")
    else:
    print("失败")

    # 4
    # 方法2 将3个变量添加到list,排序比大小
    while True:
    try:
    list_1 = [] # 定义一个空字典
    for i in range(1, 4): # 循环3次
    list_1.append(int(input(("请输入第{}个整数:").format(i)))) # 将变量添加进空列表
    print("比较大小,排序前{}".format(list_1))
    list_1.sort(reverse=True) # 降序排序
    print("比较大小,排序后{}".format(list_1[0]))
    break
    except Exception as e:
    print("您输入的不正确,报错如下:{}".format(e))
    print("请重新输入")

    # 方法3 使用max函数
    list_1 = []
    for i in range(1, 4):
    list_1.append(int(input(("请输入第{}个整数:").format(i))))
    max_num = max(list_1)
    print("三个整数中最大值为:{}".format(max_num))

    # 方法4 添加到字典,比较大小,交换值
    list_1 = []
    for i in range(1, 4):
    list_1.append(int(input(("请输入第{}个整数:").format(i))))
    length = len(list_1)
    # print("列表长度为{}".format(length))
    for x in range(length): # 外循环控制循环次数
    for y in range(length - 1 - x): # 内循环控制循环到哪一位,需要减1,否则索引越界
    if list_1[y] > list_1[y + 1]: # 比较大小
    list_1[y], list_1[y + 1] = list_1[y + 1], list_1[y] # 将较大者交换到后面进行比较
    print("三个整数中最大值为:{}".format(list_1[length - 1]))

    # 5 乘法表
    for x in range(1, 10):  # 外循环控制循环次
    for y in range(1, 10): # TODO 内循环控制循环到哪一位,x+1表示末尾被乘的是x
    if y<=x:
    print("{} * {} = {}".format(y, x, y*x), end=" ")
    print() # 换行

    # 是否可以不判断呢,可以,优化之后如下
    for x in range(1, 10): # 外循环控制循环次
    for y in range(1,x+1): # TODO 内循环控制循环到哪一位,x+1表示末尾被乘的是x
    print("{} * {} = {}".format(y, x, y*x), end=" ")
    print() # 换行


    # # 方法2 while循环嵌套,搭配变量
    # # TODO 变量初始化都在该while循环前定义,循环也在该while循环内递增/减
    # a = 1
    # while a < 10: # 循环9次
    # b = 1
    # while b <= a:
    # print("{} * {} = {} ".format(b, a, b * a), end="")
    # b += 1 # 被乘数自增,使当前循环到a的值
    # print(end=" ")
    # a += 1 # 循环次数自增


    # 特征:
    # 同时取出2个数字,去进行操作,就会用到for 嵌套for...for

    # 6
    # 1.让black_list保持不变
    # TODO 复制一个变量,使用切片复制
    black_list = ['卖茶叶', '卖面膜', '卖保险', '卖花生', '卖手机']
    for i in black_list[:]:
    black_list.remove(i) # 在这行进行断点调试
    # 这里的black_list[:]内容是不会变的,每次从里面获取一个值根据这个值去删掉原来的数据
    print(black_list)
    # TODO 如果要修改,copy列表,强烈推荐使用切片复制

    black_list = ['卖茶叶', '卖面膜', '卖保险', '卖花生', '卖手机']
    for i in black_list[:]:
    black_list.pop(0) # 索引值固定每次删第一个或最后一个
    print(black_list)

    # for 循环嵌套,冒泡排序
    a = [1, 7, 4, 89, 34, 2]
    b = len(a)
    for x in range(b): # 外循环控制循环次数
    for y in range(b - 1 - x): # 内循环控制循环到哪一位,需要减1,否则索引越界
    if a[y] > a[y + 1]: # 比较大小
    a[y], a[y + 1] = a[y+1], a[y] # 将较大者交换到后面进行比较
    print("for循环冒泡排序后的列表为:{}".format(a))

    # while 循环嵌套,冒泡排序
    a = [1, 7, 4, 89, 34, 2]
    b = len(a)
    c = 0
    while c < b: # 外循环控制循环次数
    d = 0
    while d < b - 1 - c: # 内循环控制循环到哪一位,需要减1,否则索引越界
    if a[d] > a[d + 1]: # 比较大小
    a[d], a[d + 1] = a[d+1], a[d] # 将较大者交换到后面进行比较
    d += 1
    c += 1
    print("while循环冒泡排序后的列表为:{}".format(a))
  • 相关阅读:
    SqlLite
    C# Sqlite 序列
    C#生成条形码 Code128算法
    【Ogre Beginner Guide】第二章 OGRE场景绘图
    【Ogre Beginner Guider】第一章 配置OGRE
    用户操作体验设计——小感触
    rails 调试
    mac下安装和使用brew
    如何使用 CCache 进行 Cocos2d-x 编译加速
    AndroidStudio使用和问题记录
  • 原文地址:https://www.cnblogs.com/little-lucky/p/12989590.html
Copyright © 2011-2022 走看看