热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python编程练习(三)

本文档涵盖了多个Python编程练习题,包括使用while和for循环处理数字序列、字符串操作以及简单的算法实现等。每道题目都提供了详细的代码示例,旨在帮助初学者加深对Python基础知识的理解。

文章目录

  • 1. 使用 while 循环计算 1 到 100 之间的偶数总和
  • 2. 输入两个数,如果它们的差值为奇数,则输出该结果;否则提示用户结果不是奇数
  • 3. 使用 for 循环打印 0 到 100 之间的所有奇数
  • 4. 使用 while 循环打印 1 到 100 之间的所有偶数
  • 5. 使用 for 循环计算 1 到 100 的总和
  • 6. 使用 while 循环计算 1 到 100 的总和
  • 7. 解决“百马百担”问题:一匹大马能驮 3 担货,一匹中马能驮 2 担,两匹小马能驮 1 担,共有一百匹马驮一百担货,问大、中、小马各有多少匹?
  • 8. 判断输入的字符串是否为数字,并尝试将其转换为整数类型
  • 9. 判断用户输入的字符是否存在于指定字符串中
  • 10. 实现冒泡排序算法
1. 使用 while 循环计算 1 到 100 之间的偶数总和
total = 0
number = 1
while number <= 100:
if number % 2 == 0:
total += number
number += 1
print(total)
2. 输入两个数,如果它们的差值为奇数,则输出该结果;否则提示用户结果不是奇数
num1 = int(input('请输入第一个数字: '))
num2 = int(input('请输入第二个数字: '))
difference = abs(num1 - num2)
if difference % 2 != 0:
print('差值是奇数:', difference)
else:
print('差值不是奇数')
3. 使用 for 循环打印 0 到 100 之间的所有奇数
for num in range(0, 101):
if num % 2 != 0:
print(num)
4. 使用 while 循环打印 1 到 100 之间的所有偶数
num = 1
while num <= 100:
if num % 2 == 0:
print(num)
num += 1
5. 使用 for 循环计算 1 到 100 的总和
total_sum = 0
for i in range(1, 101):
total_sum += i
print(total_sum)
6. 使用 while 循环计算 1 到 100 的总和
total_sum = 0
i = 1
while i <= 100:
total_sum += i
i += 1
print(total_sum)
7. 解决“百马百担”问题
# 使用 for 循环解决
for large_horse in range(0, 101):
for medium_horse in range(0, 101 - large_horse):
small_horse = 100 - large_horse - medium_horse
if (large_horse * 3 + medium_horse * 2 + small_horse * 0.5) == 100:
print(f'大马 {large_horse} 匹, 中马 {medium_horse} 匹, 小马 {small_horse} 匹')

# 使用 while 循环解决
large_horse = 0
while large_horse <101:
medium_horse = 0
while medium_horse <= (100 - large_horse):
small_horse = 100 - large_horse - medium_horse
if (large_horse * 3 + medium_horse * 2 + small_horse * 0.5) == 100:
print(f'大马 {large_horse} 匹, 中马 {medium_horse} 匹, 小马 {small_horse} 匹')
medium_horse += 1
large_horse += 1
8. 判断输入的字符串是否为数字,并尝试将其转换为整数类型
input_str = input('请输入一个字符串: ')
if input_str.isdigit():
converted_num = int(input_str)
print(f'转换后的数字为: {converted_num}')
else:
print('输入的不是数字')
9. 判断用户输入的字符是否存在于指定字符串中
target_string = 'hello'
input_char = input('请输入一个字符: ')
if input_char in target_string:
print('字符存在于字符串中')
else:
print('字符不存在于字符串中')

# 使用 for 循环查找
found = False
for char in target_string:
if char == input_char:
found = True
break
if found:
print('字符存在于字符串中')
else:
print('字符不存在于字符串中')

# 使用字符串方法 find()
if target_string.find(input_char) != -1:
print('字符存在于字符串中')
else:
print('字符不存在于字符串中')
10. 实现冒泡排序算法
def bubble_sort(nums):
n = len(nums)
for i in range(n):
for j in range(0, n-i-1):
if nums[j] > nums[j+1]:
nums[j], nums[j+1] = nums[j+1], nums[j]
return nums

numbers = [9, 5, 8, 7, 10, 2, 6, 0, 4]
sorted_numbers = bubble_sort(numbers)
print(sorted_numbers)

推荐阅读
  • 使用R语言进行Foodmart数据的关联规则分析与可视化
    本文探讨了如何利用R语言中的arules和arulesViz包对Foodmart数据集进行关联规则的挖掘与可视化。文章首先介绍了数据集的基本情况,然后逐步展示了如何进行数据预处理、规则挖掘及结果的图形化呈现。 ... [详细]
  • 本文探讨了在Python中多线程与多进程的性能差异,特别是在处理CPU密集型任务和I/O密集型任务时的表现。由于全局解释器锁(GIL)的存在,多线程在利用多核CPU方面表现不佳,而多进程则能有效利用多核资源。 ... [详细]
  • 探索CNN的可视化技术
    神经网络的可视化在理论学习与实践应用中扮演着至关重要的角色。本文深入探讨了三种有效的CNN(卷积神经网络)可视化方法,旨在帮助读者更好地理解和优化模型。 ... [详细]
  • HDU 2537 键盘输入处理
    题目描述了一个名叫Pirates的男孩想要开发一款键盘输入软件,遇到了大小写字母判断的问题。本文提供了该问题的解决方案及实现方法。 ... [详细]
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • 在AngularJS中,有时需要在表单内包含某些控件,但又不希望这些控件导致表单变为脏状态。例如,当用户对表单进行修改后,表单的$dirty属性将变为true,触发保存对话框。然而,对于一些导航或辅助功能控件,我们可能并不希望它们触发这种行为。 ... [详细]
  • UVa 11683: 激光雕刻技术解析
    自1958年发明以来,激光技术已在众多领域得到广泛应用,包括电子设备、医疗手术工具、武器等。本文将探讨如何使用激光技术进行材料雕刻,并通过编程解决一个具体的激光雕刻问题。 ... [详细]
  • Adversarial Personalized Ranking for Recommendation
    目录概主要内容基础对抗扰动对抗训练细节代码HeX.,HeZ.,DuX.andChuaT.Adversarialpersonalizedrankingforrecommendatio ... [详细]
  • 本文旨在探讨Swift中的Closure与Objective-C中的Block之间的区别与联系,通过定义、使用方式以及外部变量捕获等方面的比较,帮助开发者更好地理解这两种机制的特点及应用场景。 ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • ArcBlock 发布 ABT 节点 1.0.31 版本更新
    2020年11月9日,ArcBlock 区块链基础平台发布了 ABT 节点开发平台的1.0.31版本更新,此次更新带来了多项功能增强与性能优化。 ... [详细]
  • 1、编写一个Java程序在屏幕上输出“你好!”。programmenameHelloworld.javapublicclassHelloworld{publicst ... [详细]
author-avatar
容源伯依79
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有