小白打卡第27天!
题目来源
- python基础训练day27
- 第一题(循环)
- 第二题(进制转换)
- 第三题(又是循环)
- 第四题(字符串连接)
# 809*??=800*??+9*?? 其中??代表的两位数, 809*??为四位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
经过条件判断,i在(1,13)之间变化,应用循环把它找出来:
for i in range(1, 13):
if 809 * i == 800 * i + 9 * i:
if 8 * i <= 99 and 9 * i > 100:
print(i, 809 * i)
运行结果:
12 9708第二题(进制转换)
八进制转换为十进制
运用int方法
a = 0o5674
c = 1234
print(int(a)) # 数字情况直接转换为十进制
print(int('0o5674', 8)) # 字符串情况,逗号后边标注字符串是几进制
print(int('5674', 8)) # 不加进制开头的标识符也行,只要表明八进制一样可以进行转换
print('*'*20)
print(oct(c)) # 转八进制
print(hex(c)) # 转16进制
print(bin(c)) # 转二进制
运行结果:
3004 3004 3004 ******************** 0o2322 0x4d2 0b10011010010第三题(又是循环)
# 求0—7所能组成的奇数个数。
还是循环,从1开始,验证每一个数是否为奇数,如果是,再验证这个数字里面有没有8,9:
def compute_numbers_for_odd(n):
num = pow(10, n)
count = 0
for i in range(1,num):
if i % 2 != 0:
if '8' not in str(i) and '9' not in str(i):
count += 1
return count
for k in range(1,8):
print(compute_numbers_for_odd(k))
运行结果:
4 32 256 2048 16384 131072 1048576第四题(字符串连接)
# 连接字符串。
两种方法:
str1 = '45689' str2 = 'avbaiu' # 法一 str3 = str1 + str2 print(str3) # 法二 list1 = [str1, str2] str4 = ''.join(list1) str5 = '&'.join(list1) print(str4) print(str5)
运行结果:
45689avbaiu 45689avbaiu 45689&avbaiu
今日打卡结束!
节物风光不相待,桑田碧海须臾改



