真值表
| 对象/常量 | 值 |
|-----------|----------|
| True | True |
| False | False |
| 0 | False |
| 0.0 | False |
| None | False |
| [] | False |
| () | False |
| "" | False |
| {} | False |
| >= 1 | True |
| <= -1 | True |
| "str" | True |
| 10 | True |
| -2 | True |
while 语句
在每次循环迭代时,首先评估条件表达式。如果条件为 True,则执行循环体内的代码块。一旦条件为 False,循环终止。
语法
while 条件:
# 循环体代码
示例
flag = -2
while flag:
print(flag)
flag += 1
# ==========
输出:
-2
-1
for 语句
for语句是用来遍历可迭代对象(如列表、元组、集合、字典等)的一种循环结构。
语法
for 变量 in 可迭代对象:
执行代码块
示例
for i in range(3, -1, -1):
print(i)
# ================
输出:
3
2
1
0
# 打印偶数
for i in range(10):
if i % 2 == 0:
print(i)
# =============
for i in range(0, 10, 2):
print(i)
continue 语句
continue语句是用于跳过当前循环中的剩余代码,直接进入下一次循环的关键字。当continue语句执行时,循环体内continue后面的代码将不再执行,而是直接进行下一次循环的迭代。
示例
for i in range(10):
# 当整数和1进行按位与运算时,只有整数的最低位和1的最低位都为1时,结果为1;否则结果为0。这种操作常用于判断一个整数的最低位是否为1,即判断一个整数是奇数还是偶数。
if i & 1:
continue
print(i)
# =========
输出:
0
2
4
6
8
break 语句
break语句用于终止当前循环,并跳出循环体,执行循环之后的代码。当break语句被执行时,循环立即终止,不再执行剩余的循环代码,而是继续执行循环之后的代码。
示例
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for number in numbers:
print(number)
if number == 5:
break
print("循环结束")
# =================
输出:
1
2
3
4
5
循环结束
代码示例
## 给定一个不超过5位的整数,判定该数的位数,以及依次打印,万位到个位。
# 接收用户输入的整数
num = int(input("请输入一个小于等于5位数的整数:"))
# 将整数转换为字符串,计算整数的位数
num_str = str(num)
length = len(num_str)
if length > 5:
print("输入的整数超过5位,请重新输入")
else:
# 根据位数逐个打印数字
for i in range(length):
print(f"{10 ** (length - i - 1)}位:{int(num_str[i])}")
# =========================
# 接收用户输入的整数
num = int(input("请输入一个不超过5位数的整数:"))
# 判断整数的位数
length = len(str(num))
if length > 5:
print("输入的整数超过5位,请重新输入")
else:
# 根据位数逐个打印数字
if length >= 5:
print("万位:", num // 10000 % 10)
if length >= 4:
print("千位:", num // 1000 % 10)
if length >= 3:
print("百位:", num // 100 % 10)
if length >= 2:
print("十位:", num // 10 % 10)
if length >= 1:
print("个位:", num % 10)
# 打印空心正方形
# 定义边长
side_length = 5
# 外层循环控制行数
for i in range(side_length):
if i == 0 or i == side_length - 1:
# 打印完整行
print("*" * side_length)
else:
# 打印空心部分
print("*" + " "*(side_length-2) + "*")
# =============
输出:
*****
* *
* *
* *
*****
# 阶乘
# 接收用户输入的整数
num = int(input("请输入一个正整数:"))
# 初始化阶乘结果为1
factorial = 1
# 计算阶乘
for i in range(1, num + 1):
factorial *= i
# 输出结果
print(f"{num}的阶乘是:{factorial}")
# ============================
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
# 接收用户输入的整数
num = int(input("请输入一个正整数:"))
# 调用递归函数计算阶乘
result = factorial(num)
# 输出结果
print(f"{num}的阶乘是:{result}")
# 求和
# 初始化奇数和和偶数和为0
sum_odd = 0
sum_even = 0
# 遍历1到100的所有数字
for i in range(1, 101):
# 判断是否为奇数
if i % 1:
# 如果是奇数则加上该数
sum_odd += i
else:
# 如果是偶数则加上该数
sum_even += i
# 输出结果
print("100以内的奇数和为:", sum_odd)
# ======================
# 奇数和
# 初始化和为0
sum_odd = 0
# 遍历1到100的所有奇数,步长设为2
for i in range(1, 101, 2):
sum_odd += i
# 输出结果
print("100以内的奇数和为:", sum_odd)
# 判定素数,大于1的自然数只能被1和它自身整除
def is_prime(num):
if num <= 1:
return False
if num == 2:
return True
if num % 2 == 0:
return False
for i in range(3, int(num**0.5) + 1, 2):
if num % i == 0:
return False
return True
# 输入一个数
num = int(input("请输入一个整数:"))
# 判断是否为素数
if is_prime(num):
print(num, "是素数")
else:
print(num, "不是素数")
# =========================
import math
def is_prime(num):
if num <= 1:
return False
if num == 2:
return True
if num % 2 == 0:
return False
for i in range(3, int(math.sqrt(num)) + 1, 2):
if num % i == 0:
return False
return True
# 输入一个数
num = int(input("请输入一个整数:"))
# 判断是否为素数
if is_prime(num):
print(num, "是素数")
else:
print(num, "不是素数")
# ========================
def is_prime(num):
if num <= 2:
return False
if num % 2 == 0:
return False
for i in range(3,int(num**0.5)+1,2):
if num % i == 0:
return False
return True
# 打印10万以内的所有素数
for num in range(3,100001,2):
if is_prime(num):
print(num, "是素数")
# ==============
def prime_sieve(limit):
sieve = [True] * (limit + 1)
sieve[0], sieve[1] = False, False
for i in range(2, int(limit**0.5) + 1):
if sieve[i]:
sieve[i*i:limit+1:i] = [False] * ((limit - i*i) // i + 1)
return [num for num, is_prime in enumerate(sieve) if is_prime]
# 打印10万以内的所有素数
primes = prime_sieve(100000)
for prime in primes:
print(prime)
# 九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
# 使用字符串格式化和空格填充占用两个字符的宽度并右对齐输出,
print(f"{j}x{i}={i*j:2}", end="\t")
print()
# 输出结果
1x1= 1
1x2= 2 2x2= 4
1x3= 3 2x3= 6 3x3= 9
1x4= 4 2x4= 8 3x4=12 4x4=16
1x5= 5 2x5=10 3x5=15 4x5=20 5x5=25
1x6= 6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7= 7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8= 8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9= 9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
# 打印菱形
# 获取菱形的大小
size = int(input("请输入菱形的大小(奇数):"))
# 上半部分菱形
for i in range(1, size+1, 2):
print(" "*(size//2 - i//2) + "*" * i)
# 下半部分菱形
for i in range(size-2, 0, -2):
print(" "*(size//2 - i//2) + "*" * i)
# =============
输出:
请输入菱形的大小(奇数):5
*
***
*****
***
*
# 斐波那契数列
# 初始化斐波那契数列的前两项
a, b = 0, 1
# 打印斐波那契数列
print("斐波那契数列:", end=" ")
while a <= 100:
print(a, end=" ")
a, b = b, a + b
# ====
输出:
斐波那契数列: 0 1 1 2 3 5 8 13 21 34 55 89
# =========================================
# 计算斐波那契数列中第105个数
def fibonacci(n):
a, b = 0, 1
for _ in range(n-1):
a, b = b, a + b
return a
# 计算第101个斐波那契数
result = fibonacci(105)
print("斐波那契数列中第105个数是:", result)
参考文档
https://docs.python.org/zh-cn/3.12/reference/compound_stmts.html#/
标签:语句,10,num,python,range,整数,length,循环,print From: https://www.cnblogs.com/wangguishe/p/18082327