【Python学习每日作业-第五天】

1. 写一个简单(±*/)的计算器, 确保输入的都是数字(如果不是数字,让它重新输入)

while True:
    # flag = 1 为正常情况
    flag = 1
    input_data = input("请输入(输入的格式类似于7+8,输入exit结束):")
    if input_data == 'exit':
        print('正在退出...')
        break
    result_tuple = ()
    operator_list = ['+', '-', '*', '/']
    for operator in operator_list:
        if operator in input_data:
            result_tuple = input_data.partition(operator)
    if result_tuple:
        if result_tuple[0].isdigit() and result_tuple[2].isdigit():
            num1 = int(result_tuple[0])
            num2 = int(result_tuple[2])
            if result_tuple[1] == '+':
                print(num1, '+', num2, '=', num1 + num2)
            elif result_tuple[1] == '-':
                print(num1, '-', num2, '=', num1 - num2)
            elif result_tuple[1] == '*':
                print(num1, '*', num2, '=', num1 * num2)
            elif result_tuple[1] == '/' and num2 != 0:
                print(num1, '/', num2, '=', num1 / num2)
            else:
                flag = 0
    else:
        flag = 0
    if flag == 0:
        print('输入有误,请重新输入')

2. while单层循环完成9 * 9乘法表

i = 1
j = 1
while i <= 9:
    print(i, "*", j, "=", i * j, end="\t")
    if i == j:
        j = 0
        i += 1
        print()
    j += 1

3. str字符串中的strip, replace, split, partition, expandtabs, join, center, ljust, rjust

strip(self, chars=None, /) 该函数的作用是去除字符串开头和结尾处指定的字符,不会去除字符串中间对应的字符。

replace(self, old, new, count=-1, /) 把str.中的 old 替换成 new,如果 count 指定,则替换不超过 count次。

split(self, /, sep=None, maxsplit=-1) 拆分字符串。通过指定分隔符sep对字符串进行分割,并返回分割后的字符串列表。

partition(self, sep, /) 根据指定的分隔符(sep)将字符串进行分割。从字符串左边开始索引分隔符sep,索引到则停止索引。

expandtabs(self, /, tabsize=8) 将字符串S中的 \t 替换为一定数量的空格。默认N=8。

join(self, iterable, /) 将iterable变量的每一个元素后增加一个str字符串。

center(self, width, fillchar=’ ', /) 返回一个 居中的新字符串,可以自行设置宽度和填充字符。

ljust(self, width, fillchar=’ ', /) 返回一个原字符串左对齐,并使用fillchar填充(默认为空格)至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。

rjust(self, width, fillchar=’ ', /) 返回一个原字符串右对齐,并使用fillchar填充(默认为空格)至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。

4. 格式化输出

格式化输出:
姓名 年龄 性别 家庭住址
xxx xxxx

list_data = [{name: xxx, age: xxx, gender: xxx, address}, …]
包含居中对齐,向左对齐, 向右对齐

list_data = [
                {'name': 'kou', 'age': 20, 'gender': 'male', 'address':'xxxxxxxxxxxxxxxxxx'},
                {'name': 'long', 'age': 20, 'gender': 'female', 'address':'xxxxxxxxxxxxxxxxxx'},
                {'name': 'zhang', 'age': 20, 'gender': 'male', 'address':'xxxxxxxxxxxxxxxxxx'}
            ]
print(f"{'name':^10}{'age':^8}{'gender':^10}{'address':^60}")
print("{0[name]:^10}{0[age]:^8}{0[gender]:^10}{0[address]:^60}".format(list_data[0]))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值