1.for循环练习题
- 实现输出 1 - 2 + 3 - 4 + 5 - 6 … + 99 的和
- 求100以内的质数,质数是只能被1和自身整除且大于1的自然数。
- 打印九九乘法表。
- 有这样一种数如:12321(第一个等于最后一个,第二个等于倒数第二个,以此类推,直到中间仅剩一个数),写一个函数,传入一个整数,判断这个数是不是这种前后一样的数。注:1221不是这种数
- 《算经》中有这样一个问题:今有鸡翁一,值钱伍;鸡母一,值钱三;鸡鶵三,值钱一。凡百钱买鸡百只,问鸡翁、母、鶵各几何?(鶵[chú],同“雏”)
- 实现登录,账号名为admin,密码123,则提示“登录成功”,如果账号或者密码错误,则提示“账号名或密码错误”并允许重新输入用户名和密码,如果3次登录失败,则提示“登录失败”并退出程序。
- 一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被 3整除,求这样的四位数中最大的和最小的两数各是几?
- 完成冒泡排序。
作者:猫与测试
链接:https://www.jianshu.com/p/3e5aea296de4
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
2.代码示例
1.
sum = 0
for i in range(100):
sum += i * (-1)**(i + 1)
print(sum)
输出结果:
sum = 50
2.
for i in range(2, 100):
#首先考虑能否被2整除,并判断特殊情况 i = 2
if i % 2 == 0:
if i == 2:
print(2)
else:
continue
elif i == 3:
print(3)
else:
#考虑i = 3的情况,因为使用range时,在i = 3时,下面的for表达式不能正确产生列表
for j in range(2, int(i **(0.5)) + 1):
if i % j != 0:
if j >= int(i ** 0.5):
print(i)
continue
else:
break
3.
for i in range(1,10):
for j in range(1,10):
print("%d x %d = %d"%(i, j, i * j))
4.
# -*- coding: cp936 -*-
Num = raw_input("please input a interger:")
length = len(Num)
count = 0
#通过直接判断长度的方式来判断数字是否满足要求
if length % 2 == 0:
print("This is not a good Number")
else:
for i in range(0, (length/2)):
if Num[i] == Num[length - (i + 1)]:
count += 1
continue
#如果计数已经计到中间位置处,说明是满足要求的
if count == length/2:
print("This is a a good Number")
else:
print("This is not a a good Number")
5.
5
∗
x
+
3
∗
y
+
1
/
3
∗
(
100
−
x
−
y
)
=
100
(1)
\begin{aligned} 5 *x + 3 * y + 1/3 * (100 - x - y) = 100\tag{1} \end{aligned}
5∗x+3∗y+1/3∗(100−x−y)=100(1)
14
∗
x
+
8
∗
y
=
200
(2)
14 *x + 8*y = 200\tag{2}
14∗x+8∗y=200(2)
for x in range(0,101):
for y in range(0,101):
if 14* x + 8* y == 200:
print("公鸡 %d 只,母鸡 %d 只, 小鸡 %d只"%(x,y,100-x-y))
else:
continue
6.
# -*- coding: cp936 -*-
name = raw_input("账户名\n")
password = raw_input("密码\n")
isOK = 0
for count in range(1, 3):
if name == "admin" and password == "123":
print("登陆成功")
isOK = 1
break
else:
print("账号或密码错误")
name = raw_input("账户名\n")
password = raw_input("密码\n")
if isOK != 1:
print("登陆失败")
7.
能被2整除,说明末尾数字为0, 2, 4, 6, 8。
Num = list()
for begin in range(1, 10):
for end in range(0, 10, 2):
if (begin + 3 + 6 + end) % 3 == 0:
Num.append(begin*1000 + 3 * 100 + 6 * 10 + end)
else:
continue
print("The max number is %d\n"%(max(Num)))
print("The max number is %d\n"%(min(Num)))
8.简单冒泡排序
哈哈哈,骚气的紫色。
冒泡排序原理:
Num[i] 和Num[i + 1]进行比较,然后交换顺序
比如大的放前面,小的值放后面。
注意:python2
中input和raw_input两个函数用法有区别。
# -*- coding: cp936 -*-
#本题相当于自己实现一个列表方法sorted
#请输入要排序的序列,数字之间用逗号分隔开
Num = list(input("请输入要排序的序列,并用逗号分隔开,以回车键结束\n"))
length = len(Num)
print("序列长度为 %d"%(length))
for i in range(0,length):
for j in range(i + 1, length):
if Num[i] < Num[j]:
temp = Num[j]
Num[j] = Num[i]
Num[i] = temp
print(Num)