def add(x, y): """相加""" return x + y def subtract(x, y): """相减""" return x - y def multiply(x, y): """相乘""" return x * y def divide(x, y): """相除""" return x / y # 用户输入 print("选择运算:") print("1、相加") print("2、相减") print("3、相乘") print("4、相除") choice = input("输入你的选择(1/2/3/4):") num1 = int(input("输入第一个数字: ")) num2 = int(input("输入第二个数字: ")) if choice == '1': print(num1, "+", num2, "=", add(num1, num2)) elif choice == '2': print(num1, "-", num2, "=", subtract(num1, num2)) elif choice == '3': print(num1, "*", num2, "=", multiply(num1, num2)) elif choice == '4': print(num1, "/", num2, "=", divide(num1, num2)) else: print("非法输入")
# 引入日历模块 import calendar # 输入指定年月 y = int(input("输入年份: ")) m = int(input("输入月份: ")) # 显示日历 print(calendar.month(y, m))
def recur_fibo(n): """递归函数 输出斐波那契数列""" if n <= 1: return n else: return (recur_fibo(n - 1) + recur_fibo(n - 2)) # 获取用户输入 n= int(input("您要输出几项? ")) # 检查输入的数字是否正确 if n<= 0: print("输入正数") else: print("斐波那契数列:") for i in range(n): print(recur_fibo(i))
print("测试实例一") str = "runoob.com" print(str.isalnum()) # 判断所有字符都是数字或者字母 print(str.isalpha()) # 判断所有字符都是字母 print(str.isdigit()) # 判断所有字符都是数字 print(str.islower()) # 判断所有字符都是小写 print(str.isupper()) # 判断所有字符都是大写 print(str.istitle()) # 判断所有单词都是首字母大写,像标题 print(str.isspace()) # 判断所有字符都是空白字符、\t、\n、\r
str = "www.runoob.com" print(str.upper()) # 把所有字符中的小写字母转换成大写字母 print(str.lower()) # 把所有字符中的大写字母转换成小写字母 print(str.capitalize()) # 把第一个字母转化为大写字母,其余小写 print(str.title()) # 把每个单词的第一个字母转化为大写,其余小写
import calendar y=int(input('请输入年份')) m=int(input('请输入月份')) monthRange = calendar.monthrange(y,m) print(monthRange)
import datetime def getYesterday(): today = datetime.date.today() oneday = datetime.timedelta(days=1) yesterday = today - oneday return yesterday # 输出 print(getYesterday())
>>> li ['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements'] >>> li.index("example") 5 >>> li.index("new") 2 >>> li.index("c") Traceback (innermost last): File "", line 1, in ? ValueError: list.index(x): x not in list >>> "c" in li False
>>> li = ['a', 'b', 'mpilgrim'] >>> li = li + ['example', 'new'] >>> li ['a', 'b', 'mpilgrim', 'example', 'new'] >>> li += ['two'] >>> li ['a', 'b', 'mpilgrim', 'example', 'new', 'two'] >>> li = [1, 2] * 3 >>> li [1, 2, 1, 2, 1, 2]
params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"} # 使用 f-string 格式化键值对 formatted_pairs = [f"{k}={v}" for k, v in params.items()] # 使用 join() 拼接字符串 result = ";".join(formatted_pairs) print(result)
>>> li = ["a", "mpilgrim", "foo", "b", "c", "b", "d", "d"] >>> [elem for elem in li if len(elem) > 1] ['mpilgrim', 'foo'] >>> [elem for elem in li if elem != "b"] ['a', 'mpilgrim', 'foo', 'c', 'd', 'd'] >>> [elem for elem in li if li.count(elem) == 1] ['a', 'mpilgrim', 'foo', 'c']
>>> li = ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret'] >>> s = ";".join(li) >>> s 'server=mpilgrim;uid=sa;database=master;pwd=secret' >>> s.split(";") ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret'] >>> s.split(";", 1) ['server=mpilgrim', 'uid=sa;database=master;pwd=secret']
30 个人在一条船上,超载,需要 15 人下船。
于是人们排成一队,排队的位置即为他们的编号。
报数,从 1 开始,数到 9 的人下船。
如此循环,直到船上仅剩 15 人为止,问都有哪些编号的人下船了呢?
people={} for x in range(1,31): people[x]=1 #值为一表明都在船上 print(people) check=0 #check:用于计数,每当计数达到9时,当前的人下船。 i=1 #i:当前检查的人的编号。 j=0 #:已经下船的人数 while i<31: if i==30: i=1 elif j == 15: break else: if people[i] == 0: i+=1 continue else: check+=1 if check == 9: people[i]=0 check = 0 print("{}号下船了".format(i)) j+=1 else: i+=1 continue
def a(n,k): circle=list(range(1,n+1)) index=0 while len(circle)>15: index=(index+k-1)%len(circle) eliminated=circle.pop(index) print(f'淘汰了第{eliminated}个人') return circle n=30 k=9 result=a(30,9) print(f'剩下的15个人为:{result}')
编辑 Python3 实例
A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。
日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。
B 第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉拿走自己的一份。 。
C、D、E依次醒来,也按同样的方法拿鱼。
问他们至少捕了多少条鱼?
def find_min_fish(): n = 1 # 从1开始尝试 while True: n += 1 # 每次尝试下一个数 fish = n for _ in range(5): # 五个人依次分鱼 if (fish - 1) % 5 != 0: # 如果不能整除5,说明这个n不满足条件 break fish = (fish - 1) // 5 * 4 # 拿走一份,剩下4/5 else: # 如果所有人都成功分鱼,说明找到了满足条件的n return n # 找到最小的鱼的数量 min_fish = find_min_fish() print(f"他们至少捕了 {min_fish} 条鱼")