Python自学笔记8:实操案例五(循环输出26个字母对应的ASCII码值,模拟用户登录,猜数游戏,计算100-999之间的水仙花数)
1.循环输出26个字母对应的ASCII码值 第一种是用for循环输出:
x=97
for _ in range(1,27):
print(chr(x),'----->',x)
x+=1
第二种是while循环输出:
print('-----使用while循环输出-------')
x=97
while x<=97+26:
print(chr(x), '----->', x)
x += 1
2.模拟用户登录 这里有一个知识点,python里的else可以和while、for循环搭配使用 如果正常结束循环,执行else;如果中途遇到break,不执行else 网课传送门:https://www.bilibili.com/video/BV1Sw411Z779?p=43&spm_id_from=pageDriver 第43讲 中间又发生了个小错误,一百度又是tab和空格没对齐之类的问题,我重新敲了一遍就对了 其他码友的参考解决方案:https://www.jb51.net/article/153879.htm 我嫌麻烦,每次出这种不明问题又是ifelse套的多的就重新敲一遍,就当理思路了
for i in range(1,4):
user_name=input('请输入用户名')
user_pwd=input('请输入密码')
if user_name=='admin' and user_pwd=='8888':
print('登录成功')
break
else:
print('用户名或密码不正确!')
if i<3:
print(f'您还有{3-i}次机会!!!')
else:
print('对不起,三次密码均输入错误,请联系管理员!!!')
3.猜数游戏 老师的二分搜索算法告诉我们,1-100之间猜数最多7次 贴上老师的二分过程 网课传送门:https://www.bilibili.com/video/BV1Sw411Z779?p=154 第154讲
import random
rand=random.randint(1,100)
for i in range(1,11):
num=int(input('在我心中有个数1-100,请你猜一猜'))
if num<rand:
print('小了')
elif num>rand:
print('大了')
else:
print('恭喜您!猜对了!')
break
print(f'您一共猜了{i}次')
if i<3:
print('真聪明!')
elif i<=7:
print('还凑合')
else:
print('该学折半算法了!')
以及,碰巧学会了怎么给py文件重命名:之前找了半天Rename,原来在这
4.计算100-999之间的水仙花数 这个是经典题目了,当年学C语言的时候水仙花数、斐波那契数列、梅数没少折腾我,而且考核还不允许用库函数,给我折磨得······ 幸好现在有math这个模块,导入之后使用math.Pow就很简单了,比较需要注意的是十位的求法,先和10整除再对10取余 例如:153要取出5,153//10=15,15%10=5 百位:153%100=1,1*100+53=153(不要算成53!) 个位:153%10=3
import math
for i in range(100,1000):
if math.pow((i%10),3)+math.pow((i//10%10),3)+math.pow(i//100,3)==i:
print(i)
|