while循环以及各种运算符的练习

时间:2022-04-08 17:24:05

1.输入一个数,判断这个数是几位数

   两种方式完成这个问题,

第一种是整除10的n次幂最后为零时n是多少就是多少位

代码如下:

numb = int(input('输入你想的数'))
n = 0
while True:
    if numb // (10**n) >= 1:
        n += 1
        continue
    else:
        print(f'这是一个{n}位数')
        break

 

第二种是一直整除10 ,最后结果为零时 ,除了几次就是几次加一位数

代码如下:

numb = int(input('输入你想的数'))
numb2 = numb
n = 0
while True:
    numb2 //= 10
    if numb2 > 0:
        n += 1
    else:
        break
print(f"{numb}是{n + 1}位数")

  

2.输⼊⼀个⼴告标语. 判断这个⼴告是否合法. 根据最新的⼴告法来判断. ⼴告法内容过多. 我们就判断是否包含'', '第⼀', '稀缺', '*'等字样. 如果包
. 提示, ⼴告不合法

用or运算符和in谓词方法去做
代码如下:

slogan = input('输入广告语')
if '最' in slogan or '第一'in slogan or '稀缺' in slogan or '*' in slogan:
    print('不合法')
else:
    print("合法")

  

x  and  y:当x = 0 的时候取x,当x != 0 的时候取y

x   or   y: 当x = 0 的时候取y,当x != 0 的时候取x