打印当前程序的命令行输入参数及 Python 系统路径。
import sys
# 打印当前程序的命令行输入参数
for i in sys.argv:
print (i)
print ('\nPython 系统路径:',sys.path)
声明变量注意事项
模块名包名: 小写字母,单词之间用下划线分割
类名:首字母大写 全局变量:大写字母,单词之间用下划线分割
普通变量:小写字母,单词之间用下划线分割
函数:小写字母,单词之间用下划线分割
实例变量:以下划线开头,其他和普通变量一样
专有变量:2个下划线开头,2个下划线结尾,一般为Python的自有变量(不要使用)
a = 123456、b = a,请简述 a 和 b 是什么关系?
变量 a 指向了 123456 的内存地址 变量 b 不是指向了 a 的地址,而是指向了123456内存地址
布尔值
布尔值:True 和 False
布尔值为False的有:[] 、()、{}、0、False等
随机数
from random import *
import string
# 随机一个[0,1)之间的浮点数
print(random())
# 随机一个[0,100]之间的浮点数
print(uniform(0, 100))
# 随机一个[0,100)之间的偶数
print(randrange(0, 100, 2))
# 随机一个[0,100]之间的整数
print(randint(0, 100))
## 随机字符
# 获取可打印字符
seed = string.printable
# 随机一个字符
print(choice(seed))
# 随机多个字符(字符可重复)
print(sample(seed, 3))
# 随机指定长度字符串(字符可重复)
print(''.join(sample(seed,3)))
华氏温度(℉)转换为摄氏温度(℃)
f = float(input('请输入华氏温度: '))
c = (f - 32) / 1.8
print('%.1f 华氏度 = %.1f 摄氏度' % (f, c))
计算计算周长和面积
import math
radius = float(input('请输入圆的半径: '))
perimeter = 2 * math.pi * radius
area = math.pi * radius * radius
print('周长: %.2f' % perimeter)
print('面积: %.2f' % area)
实现用户输入用户名和密码,当用户名为 admin 或 system 且密码为 admin 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
index = 0
while True:
if index == 3:
print("You have try too much times...")
break
else:
user = input("Please input your name:")
password = input("password:")
if user == "admin" or "system" and password == "admin":
print("Welcome !\n")
else:
print("Sorry,your name or password is wrong...\n")
index += 1
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
line = input("输入字符串:\n")
letters,space,digit,others = 0,0,0,0
for c in line:
if c.isalpha():
letters += 1
elif c.isspace():
space += 1
elif c.isdigit():
digit += 1
else:
others += 1
print("char = %d,space = %d,digit = %d,others = %d" % (letters,space,digit,others))
输入字符串 a、b,计算 b 在 a 中的索引。
a = input("a = ")
b = input("b = ")
print(a.find(b))
输入字符串 a、b,计算 a 中 b 出现的次数。
a = input("a = ")
b = input("b = ")
print(a.count(b))
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
import math
"""
取值区间分析:
假设该整数为 x,A = x + 100, B = A + 168
∵ A 为完全平方数
∴ A = x + 100 ≥ 0 => x ≥ -100
又假设 A = y**2, B = (y + n)**2
∵ A < B
∴ n ≥ 1 且为整数
∴ (y + n)**2 = y**2 + 168
∴ y = 84/n - n/2 ≤ 83.5,取 n = 1
∴ x + 100 + 168 ≤ (y + n)**2 = 7,140.25
∴ x ≤ 6,872.25
∴ 取值范围可以限定为[-100,6,873]
"""
for i in range(-100,6873):
m = int(math.sqrt(i + 100))
n = int(math.sqrt(i + 100 + 168))
if m * m == i + 100 and n * n == i + 268:
print(i)
输出 9*9 乘法口诀表。
for i in range(1,10):
for j in range(1,10):
if j <= i:
v = "%d*%d=%d" % (j,i,j * i)
print("%-7s" % v,end="")
print("")
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子。假如兔子都不死,问每个月的兔子总数为多少?
x, y = 0, 1 # x 为每个月新增兔子对数,y 为每个月总兔子对数
for i in range(1, 13):
print("第%2s个月:%3s对兔子" % (i,y))
x, y = y, x + y
打印出所有的"水仙花数"
# 所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
# 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
for i in range(100,1000):
x = i // 100 # 百位
y = i % 100 // 10 # 十位
z = i % 10 # 个位
if x ** 3 + y ** 3 + z ** 3 == i:
print(i)
求s = a + aa + aaa + aaaa + aa…a 的值,其中 a 是一个数字。
# 例如:2 + 22 + 222 + 2222 + 22222(此时共有5个数相加),几个数相加由键盘控制。
x = int(input("a = "))
n = int(input("n = "))
sum = 0
sv = ""
for i in range(1,n + 1):
v = i * x * (10 ** (n - i))
sum += v
sv += str(x) * i + " + "
print(f"v = {v}")
print("%s = %s" % (sum, sv.rstrip(" + ")))
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和
x,y,n = 2,1,0
for i in range(20):
n