day12
day12
1. 练习题第八题,将数字的每一位都+2,转换成一个新数字(整数和小数)
def number(s):
“”“如果不是int或者float类型就提示输入数字,就剔除了字母的情况,包括多个.等异常情况”“”
new_s = []
if isinstance(s,float): # 如果是float类型,用.分割两边的数,然后再根据长度相加2
ss = str(s).split('.')
s1 = ss[0]
s2 = ss[1]
s1_len = len(s1)*'2'
s2_len = len(s2)*'2'
new_s1 = int(s1)+int(s1_len)
new_s2 = int(s2)+int(s2_len)
new_s = "{}.{}".format(new_s1,new_s2)
print(new_s)
elif isinstance(s, int):
ss = len(str(s))
add_num = ss*'2'
new_num = str(int(s) + int(add_num))
print(new_num)
else:
print("please input number!")
控制流
2.设定一个用户名和密码,用户输入正确的用户名和
密码,则显示登录成功,否则提示登录失败,用户最多失败
3 次,否则退出程序
user = {'name':'zhangsan','password':'123456'}
def login(user)
for i in range(3):
name = str(input("please input name:"))
password = str(input('please input password:'))
if name == user['name'] and password == user['password']:
print("login success")
break
else:
print('login error')
3.自己实现一个函数,在一句话中查找某个单词的算
法,存在返回索引号,否则返回 False
def find_index(s,index):
if isinstance(s,str) and isinstance(index,str):
if index in s:
index_len = len(index)
for i in range(len(s)):
if s[i:i+index_len] == index:
return [i,i+index_len]
else:
return False
else:
print('please input str')
4.随机生成一个整数,1-100 之间你最多猜 5 次,如
果猜大了,提示大了小了,提示小了,猜对了,提示猜中。
5 次都没猜中,就猜没猜中。
import random
target = random.randint(1,100)
print("当前随机数字:%s" % target)
for i in range(5):
num = int(input('请输入你猜的数字:'))
if num > target:
print('猜大了')
elif num < target:
print("你猜小了")
elif num == target:
print("你猜对了")
print("你猜了%s次" %str(i+1))
break
else:
print("异常错误")
if i == 4:
print('你的机会用完了')
5.关于格式化输出%s 和 %d
>>> i = 1
>>> print("%d" % i)
1
>>> print("%d" % i+1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str
>>> print("%d" %i+1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str
>>> print("%d" %(i+1))
2
>>> print("%s" %str(i+1))
2