给出10个python关于循环的有点难度的题目和答案
- 编写一个程序,打印出所有小于100的质数。 答案:
for num in range(2, 100): for i in range(2, num): if (num % i) == 0: break else: print(num)
- 编写一个程序,接受一个字符串并统计每个单词的出现次数。 答案:
string = "this is a sample string to test the program" words = string.split() counts = {} for word in words: if word in counts: counts[word] += 1 else: counts[word] = 1 for key in counts: print(key, counts[key])
- 编写一个程序,接受一个整数并计算其阶乘。 答案:
num = int(input("Enter a number: ")) fact = 1 for i in range(1, num + 1): fact = fact * i print(fact)
- 编写一个程序,接受一个字符串并反转其顺序。 答案:
string = input("Enter a string: ") reverse = "" for i in string: reverse = i + reverse print(reverse)
- 编写一个程序,接受一个整数并判断其是否是回文数。 答案:
num = input("Enter a number: ") reverse = num[::-1] if num == reverse: print(num, "is a palindrome.") else: print(num, "is not a palindrome.")
- 编写一个程序,接受一个整数并判断其是否是 Armstrong 数。 答案:
num = input("Enter a number: ") digits = len(num) sum = 0 for i in num: sum += int(i)**digits if sum == int(num): print(num, "is an Armstrong number.") else: print(num, "is not an Armstrong number.")
- 编写一个程序,接受一个字符串并检查是否是回文字符串,忽略标点符号、空格和大小写。 答案:
import re string = input("Enter a string: ") string = re.sub(r'[^\w\s]', '', string) string = string.lower() reverse = string[::-1] if string == reverse: print(string, "is a palindrome.") else: print(string, "is not a palindrome.")
- 编写一个程序,接受一个整数并打印出其所有因子。 答案:
num = int(input("Enter a number: ")) print("Factors of", num, "are:") for i in range(1, num + 1): if num % i == 0: print(i)
- 编写一个程序,接受一个整数并打印出其所有素因子。 答案:
num = int(input("Enter a number: ")) print("Prime factors of", num, "are:") i = 2 while i * i <= num: if num % i: i += 1 else: num //= i print(i) if num > 1: print(num)
- 编写一个程序,接受一个字符串并打印出所有可能的排列。 答案:
import itertools string = input("Enter a string: ") permutations = list(itertools.permutations(string)) for i in permutations: print(''.join(i))
原文地址: http://www.cveoy.top/t/topic/bL1P 著作权归作者所有。请勿转载和采集!