分支与循环结构测试题(有答案版)

这篇博客提供了多个关于Python分支与循环结构的练习题目,涵盖基础、进阶和高难度挑战。内容包括判断闰年、时间转换、数的整除性判断、身材判断、温度转换、数列求和、回文数检测、打印图案等,旨在帮助读者巩固和提升Python编程能力。
摘要由CSDN通过智能技术生成

习题目录

python基础知识之分支与循环结构练习题

一、基础题:

  1. 分别用单分支结构和多分支结构实现判断一个年份是否是闰年。
    • 判断一个年份是不是闰年的条件:

      • 能被400整除的年份是闰年,否则是平年。

      • 能被4整除,并且不能被100整除的年份是闰年,否则是平年。

    # 单分支结构
    year = input('请输入一个年份:')
    if year % 400 == 0 or(year % 4 == 0 and year % 100 != 0):
    	print(f'{
           year}是闰年')
    else:
    print(f'{
           year}是平年')
     
    # 三目运算符方式
    year = 2000
    result = '闰年' if year % 400 == 0 or(year % 4 == 0 and year % 100 != 0) else '平年'
    print(result)
    
    # 多分支结构方式
    if year % 400 == 0:
     print(f'{
           year}是闰年')
    elif year % 4 == 0 and year % 100 != 0:
     print(f'{
           year}是闰年')
    else:
     print(f'{
           year}是平年')
    
  2. 假设今天的上课时间为15678秒,编程计算今天上课时间是多少⼩时,多少分钟,多少秒;以‘XX时XX分XX秒’的⽅式表示出来。

  • 例如:100秒表示成**0时1分40秒**
  • 时间取余,先保留小时,剩下的先分配分钟,最后为秒。
    classtime = 156782
    hour = classtime // 3600
    minute = (classtime - hour * 3600) // 60
    second = classtime - hour * 3600 - minute * 60
    print(f'{
           hour}{
           minute}{
           second}秒')
    
  1. 写出判断⼀个数是否能够被2或者5整除,但是不能同时被2或者5整除的条件语句, 并且打印对应ti。
    • 判断解决问题是需要单分支还是多分支

    • 变式1:判断⼀个数是否能同时被2和5整除的条件语句, 并且打印对应的结果。

      number = int(input('请输入一个整数'))
      if(number % 2 ==0 or number % 5 ==0and number % 10 != 0:
          print('条件成立')
      else:
          print('条件不成立')
          
      # 变式一:
      number = 9
      result = '条件成立' if number % 2 == 0 and number % 5 == 0 else '条件不成立'
      print('条件不成立')
      
  2. 定义两个变量保存⼀个⼈的身⾼和体重,编程实现判断这个⼈的身材是否正常!输出格式:是否正常:True / False
    • 公式:体重(kg) / (身⾼(m)的平⽅值) 在18.5 ~ 24.9之间属于正常。

      # 也可以用input语句输入身高和体重数据,但是要通过构造器语法转换成整数。
      height = 175
      weight = 160
      if 18.5 <= (weight / height ** 2) <= 24.9:
          print(True)
      else:
          print(False)
      
  3. 摄氏度和华氏度转换。
    • C = (F - 32) / 1.8

    • 判断条件:单位

      # 主要的就是要考虑输入单位和公式转换的问题。
      temp = float(input('请输入要转换的温度:'))
      unit = input('请输入单位:')
      if unit == '摄氏度' or unit == 'c' or unit == 'C':
          print(f'摄氏度{
               temp}转换为华氏度是{
               (temp * 1.8+ 32}')
      elif unit == '华氏度' or unit == 'f' or unit == 'F':
          print(f'华氏度{
               temp}转换为摄氏度是{
               (temp - 32/ 1.8}')
      else:
          print('单位输入错误,请重新输入')
      
  4. 使用循环语句输出0~100以内所有3的倍数。
    • 适用两种不同的循环语句作答

    • 考虑还有没有其它更简单的解法

      # 第一种使用for循环方法
      # range容器的用法
      for i in range(3,101,3)
      	if i % 3 == 0:
              
  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

stiinput

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

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

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

打赏作者

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

抵扣说明:

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

余额充值