1•(最大数的出现)编写程序读取整数,我出它们中的最大值,然后计算它的出现次数。假设输人
以数字口结束。假设你输人的是“3525550”;程序找出的最大数是5,而5的出现次数是4。 (提示:维护两个变量max和count。变量max存储的是当前最大数,而count存储的是它的出 现次数。初始状态下,将第一个值赋值给max,将1赋值给count。将max和每个随后的数宇
进行比较。如果这个数宇大于max,就将它赋值给max且将count重置为1。如果这个数等于
max,给count自增1。)
num_str = input("请输入数字串,以数字字符结束:")
max_num = num_str[0]
max_count = 1
for i in range(1, len(num_str)):
if num_str[i] > max_num:
max_num = num_str[i]
max_count = 1
elif num_str[i] == max_num:
max_count += 1
print("最大数为{},出现次数为{}".format(max_num, max_count))
读取用户输入的数字串,并将第一个值赋值给max_num,将1赋值给max_count。然后,通过一个for循环,遍历数字串中的每个数字,逐个与当前最大值(max_num)比较。如果这个数字比max_num大,就将它赋值给max_num,将计数器count重置为1。如果这个数字等于max_num,将计数器count加1,最后输出最大数和出现次数
2•(十进制到十六进制)编写程序提示用户输人一个十进制数,然后显示它对应的十六进制数
decimal = int(input("请输入一个十进制数:"))
hexadecimal = hex(decimal)
print("对应的十六进制数为:", hexadecimal)
通过`input()`函数读取用户输入的十进制数。然后,利用内置函数`hex()`将这个十进制数转换为十六进制数,并赋值给变量`hexadecimal`。最后,使用`print()`函数输出结果
3•(显示闰年)编写程序显示21世纪(从2001年到2100年)里所有的国年,每行显示10个国年,这些年被一个空格隔开
year = 2001 # 起始年份
while year <= 2100:
if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
print(year, end=' ')
year += 1
# 每输出10个年份,换行
if year % 10 == 1:
print()
我们定义了`year`变量,并将其初始化为2001,即21世纪的起始年份。然后,我们使用`while`循环遍历了21世纪里的所有年份。在循环中,我们使用`if`条件判断语句判断年份是否为闰年,如果是则输出该年份。输出10个年份后换行,使用`end=' '`让年份之间用空格隔开。最后,我们使用`year += 1`语句增加年份,并在每个10年的末尾自动换行,保证程序输出规范
4•(求一个整数各个数字的和)编写一个两数,计算一个整数各个数宇的和。使用下面的两数头:
def sumDigits(n):
例如:sumDigits(234)返回9(2+3+4)。(提示:使用求余运算符%提取数字,而使用除号 11去掉提取出来的数字。例如:使用234%10(=4)抽取4,然后使用234//10(=23)从234中
去掉4。使用一个循环来反复提取和去掉每个数字,直到所有数字被提取完为止。)编写程序提
示用户输人一个整数,然后显示这个整数所有数字的和
def sumDigits(n):
sum = 0
while n > 0:
sum += n % 10
n //= 10
return sum
number = int(input("请输入一个整数:"))
digit_sum = sumDigits(number)
print("该整数每个数位上的数字之和是:", digit_sum)
我们先定义了一个函数`sumDigits(n)`,用于计算出一个正整数`n`各个数位的数字之和。该函数使用了一个`while`循环。在每一次循环中,我们使用求余运算符`%`提取出最后一位数字,然后使用整除运算符`//`从`n`里面去掉这一位数字,以继续提取下一个数位。在每次循环中,我们将提取出来的数字加到总和`sum`上。当`n`小于等于0时,表示所有数字都被分离出来,循环结束,返回数字之和`sum`
接下来,我们使用`input()`函数读取用户输入的整数,并将其赋值给变量`number`。然后,我们调用函数`sumDigits(number)`将输入的整数传递给该函数,计算出该整数每个数位上的数字之和,并赋值给变量`digit_sum`。最后,我们使用`print()`函数输出结果
5•(回文整数)编写带下面两数头的函数。
# Return the reversal of an integer, e.g. reverse (456) returns
# 654
def reverse(rumber):
# Return true if number is a palindrome
def isPalindrome(number): 使用两数reverse实现isPalindrome。如果一个数的反向数和它的顺向数一样,那么这个数就
被称为回文数。编写一个测试程序,提示用广输人一个整数,然后输出这个整数是不是回文数
def reverse(number):
reverse_number = 0
while number > 0:
last_digit = number % 10
reverse_number = reverse_number * 10 + last_digit
number //= 10
return reverse_number
def isPalindrome(number):
return number == reverse(number)
n = int(input("请输入一个整数:"))
if isPalindrome(n):
print("该整数是回文数")
else:
print("该整数不是回文数")
我们定义了函数`reverse(number)`,用于返回一个正整数的反向数,即将该数的每一位数字翻转过来。该函数使用了一个`while`循环。在每一次循环中,我们使用求余运算符`%`提取出最后一位数字,然后将其加到结果数字的末位。接着,我们使用整除运算符`//`从`number`里面去掉这一位数字,以继续反转下一位数字。当`number`小于等于0时,表示所有数字都被反转完毕,循环结束,返回反转后的数字
接下来,我们定义了函数`isPalindrome(number)`,该函数判断一个数字`number`是否为回文数。函数中,我们直接将`number`与`reverse(number)`进行比较,如果相等,则说明`number`是回文数,返回`True`;否则,返回`False`
最后,我们使用`input()`函数读取用户输入的整数,并将其赋值给变量`n`。然后,我们分别调用函数`isPalindrome(n)`判断该整数是否为回文数。如果是,输出“该整数是回文数”;否则,输出“该整数不是回文数”
6•(反向显示一个整数)编写下面的两数,反向显示一个整数。
def reverse (number):
例如:reserse(3456)显示6543。编写一个测试程序,提示用户输人一个整数,然后显示它
的反向数。
def reverse(number):
reverse_number = 0
while number > 0:
last_digit = number % 10
reverse_number = reverse_number * 10 + last_digit
number //= 10
return reverse_number
n = int(input("请输入一个整数:"))
reverse_n = reverse(n)
print("反向数为:", reverse_n)
定义了函数`reverse(number)`,用于返回一个正整数的反向数,即将该数的每一位数字翻转过来。该函数使用了一个`while`循环。在每一次循环中,我们使用求余运算符`%`提取出最后一位数字,然后将其加到结果数字的末位。接着,我们使用整除运算符`//`从`number`里面去掉这一位数字,以继续反转下一位数字。当`number`小于等于0时,表示所有数字都被反转完毕,循环结束,返回反转后的数字
接下来,我们使用`input()`函数读取用户输入的整数,并将其赋值给变量`n`。然后,我们调用函数`reverse(n)`将该整数传递给该函数,计算出该整数的反向数,并赋值给变量`reverse_n`。最后,我们使用`print()`函数输出结果