while循环以及各种运算符的练习
1.输入一个数,判断这个数是几位数
两种方式完成这个问题,
第一种是整除10的n次幂最后为零时n是多少就是多少位
代码如下:
1
2
3
4
5
6
7
8
9
|
numb = int ( input ( '输入你想的数' )) n = 0 while True : if numb / / ( 10 * * n) > = 1 : n + = 1 continue else : print (f '这是一个{n}位数' ) break |
第二种是一直整除10 ,最后结果为零时 ,除了几次就是几次加一位数
代码如下:
1
2
3
4
5
6
7
8
9
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谓词方法去做
代码如下:
1
2
3
4
5
|
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