1.系统登录
需求:
1. 提示⽤户输⼊登录系统的⽤户名和密码
2. 校验⽤户名和密码是否正确(正确的⽤户名:admin、密码:123456)
3. 如果⽤户名和密码都正确,打印“登录成功!”,并结束程序
4. 如果⽤户名或密码错误,打印“⽤户名或密码错误!”,提示⽤户继续输⼊⽤户名和密码登录 5. 如果⽤户输⼊的⽤户名为 “exit”,则退出程序
# 需求:
# 1. 提示⽤户输⼊登录系统的⽤户名和密码
# 2. 校验⽤户名和密码是否正确(正确的⽤户名:admin、密码:123456)
# 3. 如果⽤户名和密码都正确,打印“登录成功!”,并结束程序
# 4. 如果⽤户名或密码错误,打印“⽤户名或密码错误!”,提示⽤户继续输⼊⽤户名和密码登录
# 5. 如果⽤户输⼊的⽤户名为 “exit”,则退出程序
while True:
name = input("请输入您的用户名:")
if name == "exit":
break
pwd = input("请输入您的密码:")
if name == "admin" and pwd == "123456":
print("登陆成功!")
break
else:
print("用户名或密码错误,请重新输入:")
2. 判断闰年
需求:
闰年判断程序(闰年是能被4整除,但不能被100整除的;或者能被400整除的年份)
输入一个有效的年份,判断是不是闰年
如果是闰年,则打印“xxxx年是闰年”;否则打印“xxxx年不是闰年”
如输入"2018",将打印“2018年不是闰年”
# 需求:
# 闰年判断程序(闰年是能被4整除,但不能被100整除的;或者能被400整除的年份)
# 输入一个有效的年份,判断是不是闰年
# 如果是闰年,则打印“xxxx年是闰年”;否则打印“xxxx年不是闰年”
# 如输入"2018",将打印“2018年不是闰年”
year = int(input("请输入一个年份:"))
if (year % 4 == 0 and year % 4 != 0) or year % 400 == 0:
print(f'{year}年是闰年')
else:
print(f'{year}年不是闰年')
3.求和
需求:
1. 书写代码求 0-100之间所有数字的累加和
2. 书写代码求 0-100 之间偶数的累加和
# 需求:
# 1. 书写代码求 0-100之间所有数字的累加和
# 2. 书写代码求 0-100 之间偶数的累加和
result = 0
for i in range(101):
result += i
print(f"1-100的和为{result}")
result2 = 0
for n in range(101):
if n % 2 == 0:
result2 += n
print(f'1-100之间偶数的累加和为{result2}')
4.简易计算器
需求:
设计简易计算器,可以进行基本的加减乘除运算, 参考如下:
请输出第一个数字:
请输入第二个数字:
请输入要进行的操作(+ - * /):
计算的结果为:
举例如下:
请输出第一个数字: 10
请输入第二个数字: 20
请输入要进行的操作(+ - * /): +
计算的结果为: 10 + 20 = 30
a1 = int(input('请输入第一个数字:'))
a2 = int(input('请输入第二个数字:'))
a3 = input('请输入要进行的操作(+ - * /):')
if a3 == '+':
print(a1 + a2)
elif a3 == '-':
print(a1 - a2)
elif a3 == '*':
print(a1 * a2)
elif a3 == '/':
print(a1 / a2)
5.猜数字游戏
需求:
1. 电脑产生一个(1-100)的随机数,用户进行猜测(通过 input 输入),直到猜中为止。
2. 如果猜对了,输出:恭喜你猜对了,数字是 xx。
3. 如果猜的数字比随机数大,输出:猜测的数字太大了,继续加油
4. 如果猜测的数字比随机数小,输出:猜测的数字有点小,再来一次
应用知识点:1. 循环 2. 随机数 3. break
import random
# 电脑产生随机数
num = random.randint(1, 100)
while True:
# 提示让用户输入
my_num = int(input("请输入1-100之间的整数:"))
if my_num == num:
print("恭喜你猜中了,数字是%d" % num)
break
elif my_num > num:
print("猜测的数字太大了,继续加油")
else:
print("猜测的数字有点小,再来一次")
6.求水仙花数
水仙花数(Narcissistic number),也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一个 n 位数(n≥3),它的每个位上的数字的 n 次幂之和等于它本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。 在数学中,水仙花数是自幂数的一种,严格来说,三位数的3次幂数才成为水仙花数。水仙花数的定义不仅限于三位数,实际上,一个 n 位数(n≥3)如果满足其各位数字的 n 次幂之和等于该数本身,那么它就是水仙花数。例如,407 也是一个水仙花数,因为 4^3 + 0^3 + 7^3 = 407。 你用while循环和for循环分别找出100000以内的所有水仙花数呢?
(1)使用for循环
for i in range(100001):
# 当为3位数
a = i % 10
b = i // 10 % 10
c = i // 100 % 10
if i == (a ** 3) + (b ** 3) + (c ** 3):
if i > 100:
print(i)
# 当为4位数
a = i % 10
b = i // 10 % 10
c = i // 100 % 10
d = i // 1000 % 10
if i == (a ** 4) + (b ** 4) + (c ** 4) + (d ** 4):
if i > 100:
print(i)
# 当为5位数
a = i % 10
b = i // 10 % 10
c = i // 100 % 10
d = i // 1000 % 10
e = i // 10000 % 10
if i == (a ** 5) + (b ** 5) + (c ** 5) + (d ** 5) + (e ** 5):
if i > 100:
print(i)
# 当为6位数
a = i % 10
b = i // 10 % 10
c = i // 100 % 10
d = i // 1000 % 10
e = i // 10000 % 10
f = i // 100000 % 10
if i == (a ** 6) + (b ** 6) + (c ** 6) + (d ** 6) + (e ** 6) + (f ** 6):
if i > 100:
print(i)
(2)使用while循环
i = 100
while i <= 100000:
# 当为3位数
a = i % 10
b = i // 10 % 10
c = i // 100 % 10
if i == (a ** 3) + (b ** 3) + (c ** 3):
if i > 100:
print(i)
# 当为4位数
a = i % 10
b = i // 10 % 10
c = i // 100 % 10
d = i // 1000 % 10
if i == (a ** 4) + (b ** 4) + (c ** 4) + (d ** 4):
if i > 100:
print(i)
# 当为5位数
a = i % 10
b = i // 10 % 10
c = i // 100 % 10
d = i // 1000 % 10
e = i // 10000 % 10
if i == (a ** 5) + (b ** 5) + (c ** 5) + (d ** 5) + (e ** 5):
if i > 100:
print(i)
# 当为6位数
a = i % 10
b = i // 10 % 10
c = i // 100 % 10
d = i // 1000 % 10
e = i // 10000 % 10
f = i // 100000 % 10
if i == (a ** 6) + (b ** 6) + (c ** 6) + (d ** 6) + (e ** 6) + (f ** 6):
if i > 100:
print(i)
i += 1
未完待续。。。