Python练习100则--部分概念的没有做
以下程序中,所有涉及到函数嵌套程序均可添加函数构造器来添加函数缓存, 具体方式在我的另一条博客中体现:
# coding = utf-8
import math, os
from random import randint
def Binary():
res = int(-1 / 2)
res1 = int(-1 >> 1)
print("%d:" % res)
print("%d:" % res1)
low = 10
high = 20
# 因为指针和迭代器运算不支持相加运算,却支持相减运算,
# 所以第二种通用性强。(迭代器的话要求是随机访问迭代器random access iterator)。
mid = low + (high - low) / 2
mid1 = low + ((high - low) >> 1)
print("%d" % mid)
print("%d" % mid1)
"""
【程序1】
题目:有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多
少?
"""
def mupl():
# mylist1 = list("1234")
mylist1 = [1, 2, 3, 4]
print(mylist1)
count = 0
for i in range(1, len(mylist1)):
for j in range(1, len(mylist1)):
for z in range(1, len(mylist1)):
if i == j == z:
print()
else:
print(" %d%d%d" % (i, j, z))
count += 1
#
# for i in mylist1:
# print(" %d%d%d" % (i, mylist1[i-1], mylist1[i-1]))
# print(count)
# li = list((x, y, z) for x in range(1, 4) for y in range(1, 4) for z in range(1, 4))
# print(li)
# li.remove((1, 1, 1))
# li.remove((2, 2, 2))
# li.remove((3, 3, 3))
# print(len(li))
# mupl()
"""
【程序2】
题目:企业发放的奖金根据利润提成。利润(I) :
低于或等于10 万元时,奖金可提10%;
高于10 万元,低于20 万元时,低于10 万元的部分按10%提成,高于10
万元的部分,可提成7.5%;
20 万到40 万之间时,高于20 万元的部分,可提成5%;
40 万到60 万之间时,高于40 万元的部分,可提成3%;
60 万到100 万之间时,高于60 万元的部分,可提成1.5%,
高于100 万元时,
超过100 万元的部分按1%提成,20
从键盘输入当月利润I ,求应发放奖金总数?
"""
def pro():
rate = [0.1, 0.075, 0.05, 0.03, 0.015, 0.01]
money = int(input("请输入您的利润:"))
summ = 0
if money > 100:
summ += (money - 100) * rate[5]
money = 100
if money > 60:
summ += (money - 60) * rate[4]
money = 60
if money > 40:
summ += (money - 40) * rate[3]
money = 40
if money > 20:
summ += (money - 20) * rate[2]
money = 20
if money > 10:
summ += (money - 10) * rate[1]
money = 10
if money > 0:
summ += money * rate[0]
print("总奖金是: %s" % summ)
"""
【程序3】
题目:一个整数,它加上100 后是一个完全平方数,再加上168 又是一个完全平方数,
请问该数是多少?
"""
# x = 1
# n = 2
# y = 3
# (x + 100) == n ** 2
# (x + 100 + 168) == y ** 2
#
def sqrtnum():
for i in range(0, 100):
if math.sqrt(i + 100) % 1 == 0 and math.sqrt(i + 100 + 168) % 1 == 0:
print(i)
# sqrtnum()
"""
【程序4】
题目:输入某年某月某日,判断这一天是这一年的第几天?
"""
def countday1():
year = int(input("请输入年份: "))
month = int(input("请输入月份: ")) - 1
day = int(input("请输入日期: "))
sum_day = day
is_leap = 0
if (year % 400 == 0) or (year % 4 == 0 and year % 400 != 0):
is_leap = 1
sum_day += is_leap
lst_day = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
for i in range(month):
sum_day += lst_day[i]
print("时间是 %d 年 %d 月 %d 日, %d 年已经过了 %d 天" % (year, month, day, year, sum_day))
# countday1()
"""
【程序5】
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
"""
def sortnum():
x, y, z = 1, 30, 6
minnum = (x if x < y else y) if (x if x < y else y) < z else z
maxnum = (x if x > y else y) if (x if x > y else y) > z else z
middnum = z if (x if x < y else y) < (z if z < y else y) else (x if x < y else y)
print("三个数字从小到大排列:%d %d %d " % (minnum, middnum, maxnum))
# sortnum()
"""
【程序6】
题目:用*号输出字母C的图案。
"""
def charc():
print(" ************* ")
print(" ****** ** ")
print(" **** ")
print(" *** ")
print(" ** ")
print(" *** ")
print(" **** ")
print(" ******* ** ")
print(" ************* ")
# for i in range(0.1, 11.0)
y = 1.0
x = 0
m = 0.0
for y in range(5, -6, -1):
m = 2.5 * math.sqrt(25 - y ** 2)
for x in range(1, int(15 - m)):
print(" " * x + "*", end="")
print()
# for (y=10;y >= -10;y--)
# {m = 2.5 * sqrt(100 - y * y);
# for (x=1;x < 30-m;x++)
# printf(" ");
# printf("*\n");
# }
# charc()
"""
【程序7】
题目:输出特殊图案,请在c 环境中运行,看一看, Very Beautiful!
【程序8】
题目:输出9*9 口诀表。
"""
def ninemup():
for i in range(1, 10):
for j in range(1, i + 1):
print("%d x %d = %2d " % (i, j, i * j), end="")
print()
"""
【程序9】
题目:要求输出国际象棋棋盘。
【程序10】
题目:打印楼梯,同时在楼梯上方打印两个笑脸。
【程序11】
题目:古典问题:有一对兔子,从出生后第3 个月起每个月都生一对兔子,小兔子长到
第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
"""
def rabbit(month):
if month == 1:
count = 1
elif month == 2:
count = 1
else:
count = rabbit(month - 1) + rabbit(month - 2)
return count
def forrabbit(month):
ralist = [0, ]
for i in range(1, month + 1):
print(month)
if i == 1 or i == 2:
ralist.append(1)
else:
c = ralist[i - 1] + ralist[i - 2]
ralist.append(c)
print(ralist)
return ralist[month]
def forrabbit2(month):
one, two, sum = 1, 1, 0
for i in range(1, month + 1):
if i == 1 or i == 2:
sum = 1
print("i:%d, sum:%d" % (i, sum))
else:
sum = one + two
one, two = two, sum
print("one:%d, two :%d, sum:%d" % (one, two, sum))
print("i:%d, sum:%d" % (i, sum))
return sum
# month = int(input("请输入月份: "))
# print("%d个月有%d对兔子" % (month, rabbit(month)))
# month = int(input("请输入月份: "))
# # forrabbit(month)
# print("%d个月有%d对兔子" % (month, forrabbit(month)))
# month = int(input("请输入月份: "))
# print("%d个月有%d对兔子" % (month, forrabbit2(month)))
"""
【程序12】
题目:判断101-200 之间有多少个素数,并输出所有素数。
"""
def zhishu(num1, num2):
my_list = list(x for x in range(num1, num2))
for i in range(num1, num2):
for j in range(2, i):
if i % j == 0:
my_list.remove(i)
break
# print(my_list)
return my_list
"""
【程序13】
题目:打印出所有的“水仙花数” ,所谓“水仙花数”是指一个三位数,其各位数字立
方和等于该数本身。例如: 153 是一个“水仙花数” ,因为153=1 的三次方+5 的三次方
+3的三次方。
"""
def flower():
for i in range(100, 1000):
num1 = int(i / 100)
num2 = int(i % 100 / 10)
num3 = int(i % 100 % 10)
if int(num3 ** 3 + num2 ** 3 + num1 ** 3) - i == 0:
print(i)
"""
【程序14】
题目:将一个正整数分解质因数。例如:输入90, 打印出90=2*3*3*5 。
"""
def nummupl(num1, numstart, numend):
my_list = zhishu(numstart, numend)
# print(my_list)
tmpnum = num1
num_list = list()
summ = 1
for i in range(100):
if int(summ) == num1 and int(tmpnum) not in my_list:
# print("sum %d" % summ)
break
else:
for i in my_list:
# print(i)
if tmpnum % i == 0:
num_list.append(i)
tmpnum /= i
summ *= i
# print(sorted(num_list))
return num_list
# numstart = int(input("从数字开始:"))
# numend = int(input("从数字结束"))
# nummupl(int(input("数字")), numstart, numend)
"""
【程序15】
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90 分的同学用A表示, 60-89 分
之间的用B表示, 60 分以下的用C表示。
"""
def score():
score = int(input("请输入分数"))
info = "A" if score >= 90 else "B" if score >= 60 else "C"
print(info)
"""
【程序17】
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
"""
def strcount():
string = input("请输入字符")
numcount = 0
strcount = 0
elsecount = 0
spacecount = 0
for i in string:
if i.isdigit():
numcount += 1
elif i.isalnum():
strcount += 1
elif i.isspace():
spacecount += 1
else:
elsecount += 1
print("英文字母:%d , 空格:%d, 数字:%d, 其他字符:%d" % (strcount, spacecount, numcount, elsecount))
"""
【程序18】
题目: 求s=a + aa + aaa + aaaa + aa...a 的值, 其中a 是一个数字。例如
2+22+222+2222+22222(此时,共有5 个数相加) ,几个数相加有键盘控制。
"""
sumc = 0
def numsum(count):
numc = 0
global sumc
if count == 1:
numc = 2
sumc += 2
else:
numc += numsum(count - 1) * 10 + 2
sumc += numc
return numc
# print(numsum(int(input("请输入数字个数"))))
# print(sumc)
"""
【程序19】
题目:一个数如果恰好等于它的因子之和,这个数就称为“完数” 。例如6=1+2+3。编
程找出1000 以内的所有完数。
"""
# 因子如何算
# def finishnum():
# for i in range(2, 10):
# num_list = nummupl(i, 2, i)
# print(num_list)
# sumnum = 1
# for j in num_list:
# sumnum += j
# if sumnum == i:
# print("%d 是完数," % i)
# print(num_list)
# finishnum()
"""
【程序20】
题目:一球从100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在
第10 次落地时,共经过多少米?第10 次反弹多高?
"""
def ballheight():
height = 100
for i in range(10):
height /= 2
print(height)
print(height)
"""
【程序21】
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃
了一个第二天早上又将剩下的桃子吃掉一半, 又多吃了一个。以后每天早上都吃了前一
天剩下的一半多一个。到第10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘
了多少
"""
def peacheat(day):
count = 1
if day == 10:
count = 1
else:
count = (peacheat(day + 1) + 1) * 2
return count
# coun = peacheat(int(input("输入天数")))
# print(coun)
"""
【程序22】
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c 三人,乙队为x,y,z 三人。已
抽签决定比赛名单。有人向队员打听比赛的名单。a 说他不和x 比,c 说他不和x,z 比,
请编程序找出三队赛手的名单。
"""
def race():
alist = ['a', 'b', 'c']
blist = ['x', 'y', 'z']
slist = list()
for i in alist:
for j in blist:
slist.append([i, j])
slist.remove(["a", "x"])
slist.remove(["c", "x"])
slist.remove(["c", "z"])
print(slist)
# slist = list([y, x] for x in ('xyz') for y in ('abc'))
# slist.remove(["a", "x"])
# slist.remove(["c", "x"])
# slist.remove(["c", "z"])
# print(slist)
# race()
"""
程序23】
题目:打印出如下图案(菱形)
"""
def ling():
count = 1
while count < 10:
if count <= 5:
print(" " * (5 - count) + "*" * count + "*" * (count - 1))
else:
print(" " * (count - 5) + "*" * (10 - count) + "*" * (10 - count - 1))
count += 1
"""
【程序24】
题目:有一分数序列: 2/1 ,3/2 ,5/3 ,8/5 ,13/8 ,21/13... 求出这个数列的前20 项
之和。
"""
def numlist(num1):
summcount = 0
if num1 == 1:
summcount = 1
elif num1 == 2:
summcount = 2
else:
summcount = numlist(num1 - 1) + numlist(num1 - 2)
return summcount
def sumnumlist():
summcount = 0.0
for i in range(1, 5):
num1 = numlist(i + 1)
num2 = numlist(i)
summcount += num1 / num2
print("%.2f" % summcount)
"""
【程序25】
题目:求 1+2!+3!+...+20! 的和
"""
def multi(num1):
if num1 == 1:
return 1
else:
return multi(num1 - 1) * num1
# print(multi(4))
def summulti():
summcount = 0
for i in range(1, 5):
summcount += multi(i)
print(summcount)
# summulti()
"""
【程序26】
题目:利用递归方法求 5! 。
"""
# print(multi(5))
"""
【程序27】
题目:利用递归函数调用方式,将所输入的 5 个字符,以相反顺序打印出来。
"""
str_list = list("abcde")
def iterstr(str_list, num1):
if num1 == 0:
return str_list[num1]
else:
return str_list[num1] + iterstr(str_list, num1 - 1)
# print(iterstr(str_list, len(str_list) - 1))
"""
【程序28】
题目:有 5 个人坐在一起,问第五个人多少岁?他说比第4 个人大2 岁。问第4 个人岁
数,他说比第3 个人大2 岁。问第三个人,又说比第2 人大两岁。问第2 个人,说比第
一个人大两岁。最后问第一个人,他说是10 岁。请问第五个人多大?
"""
def age(num1):
if num1 == 1:
return 10
else:
return age(num1 - 1) + 2
# print(age(5))
"""
【程序29】
题目:给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数
字。
"""
num1 = 1234
str_num = str(num1)
str_len = len(str_num) - 1
def sortnum(str_num, str_len):
if str_len == 0:
return str_num[str_len]
else:
return str_num[str_len] + sortnum(str_num, str_len - 1)
# print(int(sortnum("1234", 3)))
"""
【程序30】
题目:一个5 位数,判断它是不是回文数。即12321 是回文数,个位与万位相同,十位
与千位相同。
"""
def palindromenum(num1):
for i in range(int((len(num1) - 1) / 2)):
if num1[i] != num1[len(num1) - 1 - i]:
print("不相等")
break
else:
print("%s是回文数" % num1)
# palindromenum('1234554321')
# 斐波那契数列
# 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, Done
def fib(maxnum):
n, a, b = 0, 0, 1
while n < maxnum:
print(b, end=', ')
a, b = b, a + b
n = n + 1
return 'Done'
# 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, D, o, n, e,
def fibgen(maxnum):
n, a, b = 0, 0, 1
while n < maxnum:
yield b # 执行中断,下次又继续执行, yield标志着generator
a, b = b, a + b
n = n + 1
return 'Done'
def fibtest():
print(fib(10))
print()
f = fibgen(10)
for v in f:
print(v, end=', ')
print('=' * 10)
# fibtest()
# 杨辉三角
def triangles():
li = list(list())
# print(li)
for i in range(1, 10):
list1 = []
for j in range(1, (i + 1)):
if j == i or j == 1:
list1.append(1)
else:
if i > 2 and j > 1:
ret = li[i - 2][j - 1] + li[i - 2][j - 2]
list1.append(ret)
else:
list1.append(1)
li.append(list1)
print(list1)
# triangles()
"""
【程序31】
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续
判断第二个字母。
"""
def week():
week_list = ['mon', 'tues', 'wed', 'thur', 'fri', 'sat', 'sun']
while True:
week = input("输入字母: ")
for v in week_list:
if week == v[:len(week)]:
print(v)
flag = input("是否继续 y/n ")
if flag.lower() != 'y':
break
"""
【程序32】
题目: Press any key to change color, do you want to try it. Please hurry up!
【程序33】
题目:学习gotoxy() 与clrscr() 函数。
【程序34】
题目:练习函数调用
【程序35】
题目:文本颜色设置
【程序36】
题目:求100 之内的素数
"""
def nums():
arr1 = list()
# print(arr)
for i in range(1, 101):
for j in range(1, i):
if i % j == 0 and j != 1:
break
else:
if i == j + 1:
arr1.append(i)
print(arr1)
"""
【程序37】
题目:对10 个数进行排序
"""
def numssort():
nums_list = [randint(0, 100) for x in range(10)]
for i in range(0, len(nums_list)):
for j in range(i + 1, len(nums_list)):
if nums_list[i] > nums_list[j]:
nums_list[i], nums_list[j] = nums_list[j], nums_list[i]
print(nums_list)
nums_list = [randint(0, 100) for x in range(10)]
for i in range(0, len(nums_list)):
for j in range(0, len(nums_list) - i - 1):
if nums_list[j] > nums_list[j + 1]:
nums_list[j], nums_list[j + 1] = nums_list[j + 1], nums_list[j]
print(nums_list)
# return nums_list
"""
【程序38】
题目:求一个3*3 矩阵对角线元素之和
【程序39】
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
"""
def sortinsert():
nums_list = [8, 9, 10, 14, 15, 40, 44, 54, 57, 81]
lens = int(len(nums_list))
print(nums_list[lens - 1])
xnum = int(input("请输入数字:"))
tmp = 0
for i in range(lens - 1):
if nums_list[i] <= xnum and xnum <= nums_list[i + 1]:
nums_list.insert(i + 1, xnum)
break
elif nums_list[0] > xnum:
nums_list.insert(0, xnum)
break
elif nums_list[lens - 1] < xnum:
nums_list.insert(lens, xnum)
break
print(nums_list)
"""
【程序40】
题目:将一个数组逆序输出。
"""
def reversearray():
nums_list = [8, 9, 10, 14, 15, 40, 44, 54, 57, 81]
# print(sorted(nums_list, reverse=True))
for i in range(len(nums_list)):
print(nums_list[len(nums_list) - i - 1], end=' ')
"""
【程序41】
题目:学习static 定义静态变量的用法
【程序42】
题目:学习使用auto 定义变量的用法
【程序43】
题目:学习使用static 的另一用法。
【程序44】
题目:学习使用external 的用法。
【程序45】
题目:学习使用register 定义变量的方法。
【程序46】
题目:宏#define 命令练习(1)
【程序47】
题目:宏#define 命令练习(2)
#include "stdio.h"
#define exchange(a,b) { \ /* 宏定义中允许包含两道衣裳命令的情形,此时必须在最右
边加上"\"*/
int t;\
t=a;\
a=b;\
b=t;\
}'
这个宏定义python 不支持
【程序48】
题目:宏#define 命令练习(3)
1. 程序分析:
2. 程序源代码:
#define LAG >
#define SMA <
#define EQ ==
#include "stdio.h"
void main()
{
int i=10;
int j=20;
if(i LAG j)
printf("\40: %d larger than %d \n",i,j);
else if(i EQ j)
printf("\40: %d equal to %d \n",i,j);
else if(i SMA j)
printf("\40:%d smaller than %d \n",i,j);
else
printf("\40: No such value.\n");
}
不知道如何用python 实现类似的功能
【程序49】
题目: #if #ifdef 和#ifndef 的综合应用。
1. 程序分析:
2. 程序源代码:
#include "stdio.h"
#define MAX
#define MAXIMUM(x,y) (x>y)?x:y
#define MINIMUM(x,y) (x>y)?y:x
void main()
{
int a=10,b=20;
#ifdef MAX
printf("\40: The larger one is %d\n",MAXIMUM(a,b));
#else
printf("\40: The lower one is %d\n",MINIMUM(a,b));
#endif
#ifndef MIN
printf("\40: The lower one is %d\n",MINIMUM(a,b));
#else
printf("\40: The larger one is %d\n",MAXIMUM(a,b));
#endif
#undef MAX
#ifdef MAX
printf("\40: The larger one is %d\n",MAXIMUM(a,b));
#else
printf("\40: The lower one is %d\n",MINIMUM(a,b));
#endif
#define MIN
#ifndef MIN
printf("\40: The lower one is %d\n",MINIMUM(a,b));
#else
printf("\40: The larger one is %d\n",MAXIMUM(a,b));
#endif
}
这个还是预处理的用法, python 不支持这样的机制,演示lambda 的使用。
【程序50】
【程序51】
题目:学习使用按位与 & 。
【程序52】
题目:学习使用按位或 | 。
【程序53】
题目:学习使用按位异或 ^ 。
【程序54】
题目:取一个整数a 从右端开始的4~7位。
【程序55】
题目:学习使用按位取反~。
【程序56】
题目:画图,学用circle 画圆形。
【程序57】
题目:画图,学用line 画直线。
【程序58】
题目:画图,学用rectangle 画方形。
【程序59】
题目:画图,综合例子。
【程序60】
题目:画图,综合例子。
1. 程序分析:
2. 程序源代码:
键盘不知道如何响应,先不写这个
#include "graphics.h"
#define LEFT 0
#define TOP 0
#define RIGHT 639
#define BOTTOM 479
#define LINES 400
#define MAXCOLOR 15
main()
{
int driver,mode,error;
int x1,y1;
int x2,y2;
int dx1,dy1,dx2,dy2,i=1;
int count=0;
int color=0;
driver=VGA;
mode=VGAHI;
initgraph(&driver,&mode,"");
x1=x2=y1=y2=10;
dx1=dy1=2;
dx2=dy2=3;
while(!kbhit())
{
line(x1,y1,x2,y2);
x1+=dx1;y1+=dy1;
x2+=dx2;y2+dy2;
if(x1<=LEFT||x1>=RIGHT)
dx1=-dx1;
if(y1<=TOP||y1>=BOTTOM)
dy1=-dy1;
if(x2<=LEFT||x2>=RIGHT)
dx2=-dx2;
if(y2<=TOP||y2>=BOTTOM)
dy2=-dy2;
if(++count>LINES)
{
setcolor(color);
color=(color>=MAXCOLOR)?0:++color;
}
}
closegraph();
}
【程序61】
题目:打印出杨辉三角形(要求打印出10 行)
"""
"""
【程序62】
题目:学习putpixel 画点。
#include "stdio.h"
#include "graphics.h"
main()
{
int i,j,driver=VGA,mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(YELLOW);
for(i=50;i<=230;i+=20)
for(j=50;j<=230;j++)
putpixel(i,j,1);
for(j=50;j<=230;j+=20)
for(i=50;i<=230;i++)
putpixel(i,j,1);
}
【程序63】
题目:画椭圆ellipse
【程序64】
题目:利用ellipse and rectangle 画图。
【程序65】
题目:一个最优美的图案。
【程序66】
题目:输入3 个数a,b,c ,按大小顺序输出。
【程序67】
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
【程序68】
题目:有n 个整数,使其前面各数顺序向后移m 个位置,最后m个数变成最前面的m
个数
【程序69】
题目:有n 个人围成一圈,顺序排号。从第一个人开始报数(从1 到3 报数),凡报到3
的人退出圈子,问最后留下的是原来第几号的那位。
【程序70】
题目: 写一个函数, 求一个字符串的长度, 在main 函数中输入字符串, 并输出其长度。
【程序71】
题目:编写input() 和output() 函数输入,输出5 个学生的数据记录。
【程序72】
题目:创建一个链表。
【程序73】
题目:反向输出一个链表。
【程序74】
题目:连接两个链表。
【程序75】
【程序76】
题目:编写一个函数,输入n 为偶数时,调用函数求1/2+1/4+...+1/n , 当输入n 为奇数
时,调用函数1/1+1/3+...+1/n ( 利用指针函数)
【程序77】
题目:填空练习(指向指针的指针)
【程序78】
题目:找到年龄最大的人,并输出。请找出程序中有什么问题。
【程序79】
题目:字符串排序。
【程序80】
题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了
一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分
成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只
猴子都是这样做的,问海滩上原来最少有多少个桃子?
"""
def peachless(nums):
for i in range(5):
nums = nums * 5 + 1
print(nums)
# peachless(1)
"""
【程序81】
题目: 809*??=800*??+9*?? 其中 ??代表的两位数, 8*?? 的结果为两位数, 9*?? 的
结果为3 位数。求??代表的两位数,及809*?? 后的结果。
"""
def knownums():
for i in range(10, 100):
flag1 = i * 809 == 800 * i + 9 * i
flag2 = 99 >= 8 * i >= 10
flag3 = 999 >= 9 * i >= 100
if flag1 and flag2 and flag3:
print(809 * i)
print(i)
# break
"""
【程序82】
题目:八进制转换为十进制
【程序83】
题目:求0—7 所能组成的奇数个数。
【程序84】
题目:一个偶数总能表示为两个素数之和。
【程序85】
题目:判断一个素数能被几个9 整除
【程序86】
题目:两个字符串连接程序
【程序87】
题目:回答结果(结构体变量传递)
【程序88】
题目:读取7 个数( 1—50)的整数值,每读取一个值,程序打印出该值个数的*。
【程序89】
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,
加密规则如下:
每位数字都加上5, 然后用和除以10 的余数代替该数字,再将第一位和第四位交
换,第二位和第三位交换
"""
def numpwd():
nums = int(input("请输入四位数: "))
thousand = int(nums / 1000)
hundred = int(nums / 100 % 10)
ten = int(nums / 10) % 10
one = nums % 10
print(thousand, hundred, ten, one)
thousand = (thousand + 5) % 10
hundred = (hundred + 5) % 10
ten = (ten + 5) % 10
one = (one + 5) % 10
nums2 = one * 1000 + ten * 100 + hundred * 10 + thousand
print(nums2)
"""。
【程序90】
题目:专升本一题,读结果。
if __name__ == '__main__':
M = 5
a = [1,2,3,4,5]
i = 0
j = M - 1
while i < M:
a[i],a[j] = a[j],a[i]
print a
i += 1
j -= 1
for i in range(5):
print a[i]
# """
# if __name__ == '__main__':
# M = 5
# a = [1,2,3,4,5]
# i = 0
# j = M - 1
# while i < M:
# a[i], a[j] = a[j], a[i]
# print(a)
# i += 1
# j -= 1
# for i in range(5):
# print(a[i])
"""
【程序91】
题目:时间函数举例1
【程序92】
题目:时间函数举例2
【程序93】
题目:时间函数举例3
【程序94】
题目:时间函数举例4, 一个猜数游戏,判断一个人反应快慢。(版主初学时编的)
【程序96】
题目:计算字符串中子串出现的次数
"""
def strcount():
str1 = "aaaaaasss"
str2 = "aa"
nums = str1.count(str2)
print(nums)
"""
【程序97】
题目:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。
"""
def writefile():
f = open("python23/gailun.txt", "a")
while True:
str = input("请输入保存的字符: ")
if str == "#":
break
else:
f.write(str)
f.flush() # 更新
f.close()
"""
【程序98】
题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘
文件“ test ”中保存。输入的字符串以!结束。
"""
def upperstr():
str = input("请输入字符").upper()
f = open('python23/gailun.txt', 'w')
f.write(str + "!")
f.close()
"""
【程序99】
题目: 有两个磁盘文件A 和B,各存放一行字母, 要求把这两个文件中的信息合并(按字母
顺序排列),输出到一个新文件C中。
"""
def fileIO():
f = open("python23/gailun.txt", "r")
f1 = open("python23/gailun1.txt", "r")
lines = f.readlines()
lines1 = f1.readlines()
f.close()
f1.close()
lines_str = str(lines[0] + lines1[0])
lines_str_li = list(lines_str)
lines_str_li.sort()
f2 = open("python23/gailun2.txt", "w")
f2.write(str(lines_str_li))
f2.close()