<五>Python的基础练习(循环、判断语句)

1、输入俩个数,如果俩个数的差为奇数,则打印俩个数的差为奇数,如果俩个数的差为偶数,则打印俩个数的差为偶数。

python 复制代码
nums = input("请输入二个数字,以逗号隔开:")
num_list = nums.split(",")
num1 = int(num_list[0])
num2 = int(num_list[1])
if (num1 - num2) % 2 == 0:
    print("num1:{}和num2:{}的差是偶数".format(num1, num2))
else:
    print("num1:{}和num2:{}的差是奇数".format(num1, num2))

注:input的返回值是str,可以通过格式转换将str转换成list,然后用索引分别获取俩个数再进行比较,就不用写俩个input了~

2、统计100以内,个位数是2并且能够被3整除的数。

python 复制代码
for i in range(0, 101):
    if i % 3 == 0 and i % 10 == 2:
        print(i)

注:取个位数的方法,i%10

3、输入一个整整数,输出它是几位数

方法一:利用input获取的是个字符串,字符串的长度其实就是输入的数字的位数

python 复制代码
num = input("请输入一个正整数:")
print("您输入的是%s位数" % len(num))

方法二:利用输入的数据除以10,得到的除数如果是大于1的,除几次就是几位数

python 复制代码
num = int(input("请输入一个正整数:"))
if num == 0:
    count = 1
else:
    count = 0
while num > 1:
    num = num / 10
    count = count + 1

print("您输入的是%s位数" % count)

4、打印水仙花数,水仙花数是一个三位数,各个位数的立方和等于这个数本身

python 复制代码
for i in range(100, 1000):
    num1 = i - ((i // 10) * 10)
    num2 = (i // 10) % 10
    num3 = i // 100
    if num1 ** 3 + num2 ** 3 + num3 ** 3 == i:
        print(i)

5、输出101~200中的素数,素数就是只能被1和它自己本身整除

python 复制代码
for i in range(101, 201):
    for j in range(2, int(i**0.5)+1):
        if i % j == 0:
            break
    else:
        print(i)

注: for...else...语句,当循环里的break没有被执行时,就会执行else

6、求斐波那契数列中第n个数的值,n是正整数。第一个数和第二数是1,后面的数是前俩个数的和。

方法一:利用数组的概念

python 复制代码
n = int(input("请输入要获取的斐波那契数列的个数n:"))
num1 = 1
num2 = 1
num_lists = [num1, num2]
count = 2
while True:
    num_lists.append(num_lists[-1] + num_lists[-2])
    count += 1
    if count == n:
        print("斐波那契数列的第%s个数是:" % n, num_lists[n-1])
        break

方法二:利用替换和循环

python 复制代码
n = int(input("请输入要获取的斐波那契数列的个数n:"))
num1 = 1
num2 = 1
for i in range(0, n - 2):
    a = num1
    num1 = num2
    num2 = a + num2
print("斐波那契数列的前%d个数:" % n, num2)

7、"百马百担"问题:一匹大马能3担货,一匹中马能2担货,两匹小马能1担货,如果用一百匹马劲一百担货,问有大、中、小马各多少?

python 复制代码
a1 = 3
a2 = 2
a3 = 0.5
for i in range(0, 100 // 3 + 1):
    for j in range(0, 100 // 2 + 1):
        if i * a1 + j * a2 + (100 - i - j) * a3 == 100:
            print(i, j, (100 - i - j))
相关推荐
一个无名的炼丹师9 分钟前
多模态RAG系统进阶:从零掌握olmOCR与MinerU的部署与应用
python·大模型·ocr·多模态·rag
好好沉淀16 分钟前
Elasticsearch 中获取返回匹配记录总数
开发语言·elasticsearch
u01092727123 分钟前
使用XGBoost赢得Kaggle比赛
jvm·数据库·python
2301_7657031426 分钟前
C++与自动驾驶系统
开发语言·c++·算法
MediaTea30 分钟前
<span class=“js_title_inner“>Python:实例对象</span>
开发语言·前端·javascript·python·ecmascript
热爱编程的小刘40 分钟前
Lesson04---类与对象(下篇)
开发语言·c++·算法
毕设源码-朱学姐42 分钟前
【开题答辩全过程】以 基于Java的九价疫苗预约系统为例,包含答辩的问题和答案
java·开发语言
feasibility.1 小时前
多模态模型Qwen3-VL在Llama-Factory中断LoRA微调训练+测试+导出+部署全流程--以具身智能数据集open-eqa为例
人工智能·python·大模型·nlp·llama·多模态·具身智能
我需要一个支点1 小时前
douyin无水印视频下载
爬虫·python
喵手1 小时前
Python爬虫实战:采集各大会展平台的展会名称、举办时间、展馆地点、主办方、行业分类等结构化数据(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集大会展平台信息·展会名称举办时间展馆地址·采集数据csv/json导出